Commit graph

473 commits

Author SHA1 Message Date
Branimir Karadžić
f81dadd9b8 Fixed shadowing variable warning. 2015-06-05 09:54:14 -07:00
Branimir Karadžić
d2204e5cf2 Merge pull request #423 from mendsley/vr_viewportfix
VR: Fix skewed viewports with buffered eye textures
2015-06-05 09:14:19 -07:00
Matthew Endsley
05d70ea99d VR: Fix skewed viewports with buffered eye textures
Bug fix for #419

Viewport calculations need to take VR eye buffer size into
account. Noticable at the older 100px boundary. Skewing still
exists at newer 8px buffer, but is harder to notice.
Eventually causes pretty bad eye strain, though.

Easily reproduced by setting the buffer to something obscenely
large, such as 2048.
2015-06-05 02:12:24 -07:00
Matthew Endsley
9a1b1f892c VR: Properly support MSAA in OVR builds
Fixes #338

Create the swap chain without MSAA, and the eye textures
with MSAA. The core issue was using the surface description
for the backbuffer for the DSV on the eye textures which did
not match.

This meethod follows both the oculus and openvr guidance on MSAA -
MSAA is configured on the eye render targets, but not on the swap
chain.
2015-06-05 00:30:05 -07:00
Matthew Endsley
1e604e8f38 VR: Add device resolution to HMD. Init at startup.
BREAKING: bgfx::getHMD() now returns a valid pointer
if the VR runtime was initialized. This is different
from existing behavior where getHMD returned NULL until
a bgfx::reset(... BGFX_RESET_HMD) was issued. Applications
must now check HMD::flags for the current state of the VR
runtime. The following code has the code change required:

`const bgfx::HMD* hmd = bgfx::getHMD()
if (NULL != hmd)`
becomes:
`const bgfx::HMD* hmd = bgfx::getHMD()
if (NULL != hmd && 0 != (hmd->flags & BGFX_HMD_RENDRERING))
{
	// rendering logic
}`

See the updated examples for details.

This allows applications to create the appropriately
sized back buffer for the HMD device by using the new device
resolution fields HMD::deviceHeight and HMD::deviceWidth.
These values report the pixel resolution of the attached
HMD hardware.

This also allows applications to query the reported HMD
resolution immediately after bgfx::init. This prevents
the device from being cycled which generates rendring
artifacts on startup - namely flashing back to a black
screen and reseting the Health+Warning disaply.

This involves initialization the ovrHmd device on
initialization, but deferring rendering until
postReset has been called. This adds an addiional
memory overhead of 32k to builds defining BGFX_CONFIG_USE_OVR.
The overhead for current builds is ~1.9MB for calls to
ovr_Initialize, so the additional overhead is pretty
trivial (+1.8%)
2015-06-03 15:39:09 -07:00
Branimir Karadžić
886dd485c0 Cleanup. 2015-05-30 15:58:45 -07:00
Branimir Karadžić
5d22798482 Patching GL shaders to avoid compiler warnings. 2015-05-30 10:07:07 -07:00
Branimir Karadžić
ff01992cb7 Refactored uniform types. 2015-05-28 15:27:00 -07:00
Branimir Karadžić
a361918374 Fixed issue #392. 2015-05-21 17:49:02 -07:00
Branimir Karadžić
2048aef329 Cleanup. 2015-05-18 20:34:21 -07:00
Branimir Karadžić
11868f704a GLES31: Fixed image format test. 2015-05-18 20:24:37 -07:00
Branimir Karadžić
6b8964acf7 GL: Added image format test. 2015-05-18 14:35:05 -07:00
Branimir Karadžić
c4231c9731 Added framebuffer support test. 2015-05-18 12:39:42 -07:00
Branimir Karadžić
2a49e5a143 Added flush after render reset flag. 2015-05-15 13:14:35 -07:00
Branimir Karadžić
f5d0a39dd0 Added buffer compute format flags. 2015-05-14 11:37:32 -07:00
Branimir Karadžić
cacb332b42 GL: Enabled texture check for all platforms. 2015-05-12 23:03:17 -07:00
Branimir Karadžić
8da183a2f1 Cleanup. 2015-05-12 17:25:09 -07:00
Branimir Karadžić
5e33eaf65b Merge pull request #384 from bullno1/color-texture-format-detection
Fix color texture format detection for webgl and gles < 3.0
2015-05-12 17:05:15 -07:00
Branimir Karadžić
e05eddce21 Merge branch 'master' of github.com:bkaradzic/bgfx 2015-05-12 17:03:32 -07:00
Branimir Karadžić
7d50012dbe Added GPU timer. 2015-05-12 17:03:25 -07:00
bullno1
0a3795ddfc Fix color texture format detection for webgl and gles < 3.0 2015-05-13 03:05:33 +08:00
Jonathan Young
ee5d73a328 Reset glPixelStorei GL_UNPACK_ROW_LENGTH to 0 after texture upload, if it's been changed. 2015-05-12 13:09:31 +10:00
Branimir Karadžić
e70ee88dc7 EGL: Initialize GLES2 when KHR_create_context is not available. 2015-05-10 11:45:49 -07:00
Branimir Karadžić
1aea6fc415 Detect RenderDoc presence when it's injected. 2015-05-08 11:49:18 -07:00
Branimir Karadžić
f3f302a20b GL: Create sRGB textures. D3D9: Enumerate sRGB textures. 2015-05-05 16:34:13 -07:00
Branimir Karadžić
d4cde9cbfa GL: Added sRGB texture caps. 2015-05-04 20:57:22 -07:00
Branimir Karadžić
3b66dfa5e8 Added indirect compute dispatch. 2015-05-01 14:54:23 -07:00
Branimir Karadžić
d7e362f7dd Fixed warning. 2015-05-01 09:22:57 -07:00
Branimir Karadžić
b04af680ad GL: Added draw indirect support. 2015-04-30 18:06:41 -07:00
Branimir Karadžić
2194728394 GL: Draw indirect WIP. 2015-04-29 23:20:21 -07:00
Branimir Karadžić
38e6d2bbb3 GL: Fixed incomplete texture when using decompress fallback. 2015-04-26 15:23:33 -07:00
Branimir Karadžić
ae497c58bb Fixed OVR build. 2015-04-25 16:56:29 -07:00
Branimir Karadžić
0da98e8645 Fixed creation of GLES3 textures with compute write flag. 2015-04-22 15:11:45 -07:00
Branimir Karadžić
391d96f4d8 Cleanup. 2015-04-21 20:44:46 -07:00
Branimir Karadžić
eea21fede2 Enabling KHR_debug on GLES. 2015-04-21 20:30:31 -07:00
Branimir Karadžić
f246fd29fa Added texture caps flag for compute image formats. 2015-04-21 15:44:16 -07:00
Branimir Karadžić
db59a9d44d Enabled texture*Lod for vertex shaders in GLES3+. 2015-04-21 10:58:35 -07:00
Branimir Karadžić
a528554e67 Cleanup passing platform window/context data. 2015-04-20 16:22:40 -07:00
Branimir Karadžić
5c7986ad38 GL: Reset state when switching from compute to draw. 2015-04-16 11:38:46 -07:00
Branimir Karadžić
6edd804f7a Cleanup. 2015-04-15 21:31:24 -07:00
Branimir Karadžić
66edb6c566 Moved HMD tracking into flip. Removed unnecessary frame data when using single-threaded renderer. 2015-04-15 20:59:00 -07:00
Branimir Karadžić
63cc071a6e D3D11: Fixed frame buffer auto resizing. 2015-04-14 17:02:41 -07:00
Branimir Karadžić
f3a17da8a8 GL: Cleanup FBO on destroy. 2015-04-14 17:02:04 -07:00
Branimir Karadžić
bff3ae937c GL: Update frame buffer after reset. 2015-04-13 22:13:16 -07:00
Branimir Karadžić
c01a93e29d Added support for automatic texture scaling by backbuffer ratio on backbuffer resize. 2015-04-13 18:39:38 -07:00
Branimir Karadžić
202fb0b36c Fixed GL with BGRA extension and without texture swizzle extension. 2015-04-11 09:42:17 -07:00
Branimir Karadžić
a042d6f7b9 Fixed decoding of unsupported RGBA8/BGRA8 formats on D3D9/GL. 2015-04-11 00:17:49 -07:00
Branimir Karadžić
9aa304f86f Cleanup. 2015-04-10 19:21:31 -07:00
Branimir Karadžić
c9cd5521bd Fixed issue #327 (oops!). 2015-04-09 22:31:48 -07:00
Branimir Karadžić
c15439b7cb Added ability to continue when GL shader compilation fails. Issue #327. 2015-04-09 20:36:52 -07:00
Branimir Karadžić
5cd313e342 Cleanup. 2015-04-08 23:25:17 -07:00
Branimir Karadžić
23114a821c 32-bit indices support WIP. 2015-04-08 19:59:48 -07:00
Branimir Karadžić
c85c12b5cd Fixed variable narrowing warnings. 2015-04-07 17:58:14 -07:00
Branimir Karadžić
288361b5c1 Pass all reset flags to glcontext. 2015-04-06 21:31:26 -07:00
Branimir Karadžić
5a9b02ca31 Added view name flag for compute. 2015-04-02 11:57:53 -07:00
Branimir Karadžić
81d6876067 Cleanup. 2015-03-31 09:44:51 -07:00
Branimir Karadžić
1dc10fa48f GL: Fixed crash when extension reports functionality but function doesn't exist. 2015-03-30 08:58:15 -07:00
Branimir Karadžić
9fc5badf69 GL: Fixed crash when timer query is not available. 2015-03-30 00:06:34 -07:00
Branimir Karadžić
932b44fbec Cleanup. 2015-03-29 23:10:52 -07:00
Branimir Karadžić
d62025d530 Fixing VS2015 warnings. 2015-03-29 22:40:35 -07:00
Branimir Karadžić
675745cb9e GLES: Float texture filtering when OES_texture_half_float_linear is present. 2015-03-28 22:03:25 -07:00
Branimir Karadžić
25b37dfee6 Added EXT_color_buffer_float. 2015-03-28 21:41:48 -07:00
Branimir Karadžić
3039c9a040 GLES: Fixed OES_texture_half_float incomplete texture. 2015-03-28 21:25:40 -07:00
Branimir Karadžić
91e1c1bedb Aligned stats. 2015-03-26 22:52:49 -07:00
Branimir Karadžić
dc60f34883 Updated stats display. 2015-03-26 22:43:50 -07:00
Branimir Karadžić
b2c8c45b02 Cleanup. 2015-03-24 21:24:13 -07:00
Branimir Karadžić
476f438d7a Added new WEGL extensions. 2015-03-22 22:03:37 -07:00
Branimir Karadžić
6ba3a60c1a Fixed amalgamated build with multiple renderers. 2015-03-21 22:11:59 -07:00
Branimir Karadžić
bbf2fa6f46 GL: Fixed crash when looking for [u/i]samplers. 2015-03-17 15:38:41 -07:00
Miodrag Milanovic
161d5a475e Fix VisualStudio warning 2015-03-17 14:18:27 +01:00
Branimir Karadžić
1a0ba0d87a GL: Added [u/i]sampler[2D/3D/Cube]. 2015-03-16 21:44:33 -07:00
Branimir Karadžić
13fb047a51 GL: Fixed framebuffer with stencil attachment. 2015-03-12 22:35:45 -07:00
Branimir Karadžić
4419338b27 Merge branch 'master' of github.com:bkaradzic/bgfx 2015-03-05 17:45:05 -08:00
Branimir Karadžić
d858dde912 Added RGBA8 texture format. 2015-03-05 17:44:56 -08:00
Branimir Karadžić
5185e2f901 GL: Fixing texture formats for GL and GLES31. 2015-03-04 22:08:54 -08:00
Branimir Karadžić
7bd37979ab Added separate table for RBO format. Issue #272. 2015-03-01 12:33:27 -08:00
Branimir Karadžić
676127bc5d GLES: Fixed D0S8 texture format. 2015-02-26 17:51:00 -08:00
Branimir Karadžić
8790649495 Moved imgui to last view. 2015-02-21 15:51:03 -08:00
Branimir Karadžić
2883be5c1a Increased number of views to 256. Added view remap support. 2015-02-21 15:40:51 -08:00
Branimir Karadžić
ca3a6e5c84 Fixed Emscripten. 2015-02-20 15:35:20 -08:00
Branimir Karadžić
78f415e812 GL: Added unsigned int image samplers. 2015-02-19 20:06:02 -08:00
Branimir Karadžić
5a4afee0ea Fixed compute unsigned image. 2015-02-19 16:23:27 -08:00
Branimir Karadžić
4f28cffa1a Fixed issue #259. 2015-02-12 08:26:21 -08:00
Branimir Karadžić
b01f289340 Fixed issue #252. 2015-02-06 10:47:53 -08:00
Branimir Karadžić
b2a91c4a29 Cleanup. 2015-01-26 19:09:51 -08:00
Branimir Karadžić
0516b5603b Added max anisotropy reset flag. 2015-01-21 20:39:42 -08:00
Branimir Karadžić
21fff2de4b Cleanup. 2015-01-14 21:31:08 -08:00
Branimir Karadžić
069de61bdb Combined sampler and compute binding. 2015-01-13 22:34:48 -08:00
Branimir Karadžić
bb96d76c0a Added discard framebuffer resources after use. 2015-01-11 18:00:08 -08:00
Branimir Karadžić
ff7f967c1b Removed _BIT suffix from BGFX_CLEAR_* flags. 2015-01-10 21:39:45 -08:00
Branimir Karadžić
a038b6d426 Added ability to bind static index buffer to compute. 2015-01-10 20:56:38 -08:00
Branimir Karadžić
ef05e607d6 Added support for GPU compute dynamic index buffer. 2015-01-10 20:38:47 -08:00
Branimir Karadžić
dbca2689ca Fixed issue#226. 2015-01-08 20:43:36 -08:00
Branimir Karadžić
c25dd466be Updated copyright year. 2015-01-01 15:04:46 -08:00
Branimir Karadžić
6e73d4ea34 Predefined uniforms refactoring. 2014-12-27 19:00:41 -08:00
Branimir Karadzic
c8a112d71e X11: Relax polling input. 2014-12-25 09:27:51 -08:00
Branimir Karadžić
08d97d8c4b OVR: Support for multiple SDK versions. 2014-12-21 18:55:33 -08:00
Branimir Karadžić
d45e245039 Updated RenderDoc to nightly 20141211. Added support for capturing OpenGL. 2014-12-11 20:48:16 -08:00
Branimir Karadžić
bbf4819c01 Fixed issue #208. 2014-12-11 20:17:38 -08:00
Branimir Karadžić
ad47659669 Added compute buffer support. 2014-12-09 23:16:27 -08:00