Commit graph

193 commits

Author SHA1 Message Date
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ć
ff01992cb7 Refactored uniform types. 2015-05-28 15:27:00 -07:00
Mike Popoloski
ad9e9fe111 Adding missing C99 API methods. 2015-05-16 19:07:10 -04:00
Branimir Karadžić
8964e68c87 Updated docs. 2015-05-14 20:33:33 -07:00
Branimir Karadžić
f5d0a39dd0 Added buffer compute format flags. 2015-05-14 11:37:32 -07:00
Branimir Karadžić
0305ba0bda Cleanup. 2015-05-13 14:11:56 -07:00
Branimir Karadžić
3b66dfa5e8 Added indirect compute dispatch. 2015-05-01 14:54:23 -07:00
Branimir Karadžić
b04af680ad GL: Added draw indirect support. 2015-04-30 18:06:41 -07:00
Branimir Karadžić
537ccb0699 Updated docs. 2015-04-29 20:20:19 -07:00
Branimir Karadžić
d763196407 D3D11: Added draw indirect support. 2015-04-29 17:18:51 -07:00
Branimir Karadžić
d804ca9023 Cleanup. 2015-04-26 11:34:33 -07:00
Branimir Karadžić
4210fb0d64 Renamed reset flag. 2015-04-15 11:49:20 -07:00
Branimir Karadžić
7bfe51d0d8 Added flip after submit reset flag. 2015-04-14 20:03:05 -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ć
4d30bd201e Updated 17-drawstress. 2015-04-09 16:58:44 -07:00
Branimir Karadžić
b9d2a05a28 Updated docs. 2015-04-08 21:15:37 -07:00
Branimir Karadžić
5a9b02ca31 Added view name flag for compute. 2015-04-02 11:57:53 -07:00
Branimir Karadžić
dd98c12901 Added release callback for makeRef. 2015-04-01 16:44:44 -07:00
Branimir Karadžić
8a7b20a239 Updated docs. 2015-03-26 15:09:31 -07:00
Branimir Karadžić
eeb491883d Added ability to select GPU. 2015-03-26 15:01:47 -07:00
Branimir Karadžić
2ce33465d5 Added Vulkan stub. 2015-03-05 20:34:39 -08:00
Branimir Karadžić
d858dde912 Added RGBA8 texture format. 2015-03-05 17:44:56 -08:00
Branimir Karadžić
478449e23a Adding vertex textures WIP. 2015-03-01 22:01:30 -08:00
Branimir Karadžić
579f43fad7 Added number of views to caps. 2015-02-25 21:12:52 -08:00
Branimir Karadžić
fb6aa4f51d Removed need to set texture format for compute's setImage. 2015-02-23 17:25:06 -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ć
895f697f50 Removed 16-bit API limit from vertex buffer. 2015-02-16 19:01:32 -08:00
Branimir Karadžić
a57634cd09 Added D3D12 enum. 2015-02-15 18:27:54 -08:00
Branimir Karadžić
f81f34545c Added cubemap to texture info. Fixed issue #255. 2015-02-09 11:24:59 -08:00
Branimir Karadžić
524b28a9f7 Cleanup. 2015-01-30 10:31:50 -08:00
Branimir Karadžić
a1d50d6ea4 Cleanup. 2015-01-29 19:54:23 -08:00
Branimir Karadžić
4eb9fe0127 Updated docs. 2015-01-28 21:22:45 -08:00
Branimir Karadžić
3de816bf34 Added dynamic buffer resizing. 2015-01-28 17:56:29 -08:00
Branimir Karadžić
3a7e9ff7cd Fixed transient buffer alignment. 2015-01-23 22:40:04 -08:00
Branimir Karadžić
bb96d76c0a Added discard framebuffer resources after use. 2015-01-11 18:00:08 -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ć
c25dd466be Updated copyright year. 2015-01-01 15:04:46 -08:00
Branimir Karadžić
1be040f2ab Added compute dispatch flags. 2014-12-28 11:36:36 -08:00
Branimir Karadžić
83f151f71b Added 24-nbody compute shader example. 2014-12-19 21:09:58 -08:00
Branimir Karadžić
efcb10aef6 Fixed compute program destruction. 2014-12-16 20:12:09 -08:00
Branimir Karadžić
ad47659669 Added compute buffer support. 2014-12-09 23:16:27 -08:00
Branimir Karadžić
254efb5a3d Added bgfx::dbgTextImage API for drawing directly into debug text buffer. 2014-12-04 20:32:19 -08:00
Branimir Karadžić
31efb2991f Updated to OVR 0.4.3. Added support for event char to read keyboard text input. 2014-11-08 20:57:47 -08:00
Branimir Karadžić
f6cf4df3d3 Added OculusVR support. 2014-10-28 22:08:55 -07:00
Branimir Karadzic
43b73ae0e7 Updated docs. 2014-10-11 14:08:43 -07:00
Branimir Karadžić
f1533ccc74 Removed emulated flags from caps. 2014-10-11 12:51:32 -07:00
Branimir Karadžić
9126ca8fd7 Added DX12 stub. 2014-10-11 11:24:37 -07:00
Branimir Karadzic
3dd237aefa Updated docs. 2014-10-11 10:12:27 -07:00
Branimir Karadzic
4edb8bc376 Updated docs. 2014-10-08 20:18:37 -07:00