Commit graph

53 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ć
4422e7227a Cleanup. 2015-05-14 21:16:33 -07: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ć
088bd06b04 Updated C99 API. 2015-05-03 00:01:33 -07:00
Branimir Karadžić
d804ca9023 Cleanup. 2015-04-26 11:34:33 -07:00
Mike Popoloski
9677f4a37c Updating C99 API to support scaled textures. 2015-04-26 10:18:44 -04:00
Mike Popoloski
36ca5cbd18 Exposing flags param for C99 buffer creation methods. 2015-04-26 10:18:43 -04:00
Branimir Karadžić
4d30bd201e Updated 17-drawstress. 2015-04-09 16:58:44 -07:00
Branimir Karadžić
7ebc6e3cbb Updated C99 API. 2015-04-01 23:58:36 -07:00
Branimir Karadžić
4b18babb62 Updated C99 API. 2015-03-27 22:09:10 -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ć
5ff63f93b6 Cleanup. 2015-02-16 22:53:06 -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ć
bb96d76c0a Added discard framebuffer resources after use. 2015-01-11 18:00:08 -08:00
Branimir Karadžić
6998941b8f Fixed C99 compile issue. 2015-01-08 22:58:20 -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ć
1f96070f28 Cleanup. 2014-12-09 23:19:53 -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ć
f6cf4df3d3 Added OculusVR support. 2014-10-28 22:08:55 -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 Karadžić
61ed393f6c DX11: Allow lost device for few frames. 2014-09-30 21:16:24 -07:00
Branimir Karadžić
58b37542c8 Removed *Mask API. 2014-09-27 12:07:40 -07:00
Branimir Karadžić
338bbcb559 Cleanup. 2014-09-18 20:28:41 -07:00
Branimir Karadžić
c193bd0b62 Updated C99 header. 2014-09-14 11:31:23 -07:00
Branimir Karadžić
6b00f65849 Increased number of MRT to 8. 2014-09-01 11:24:51 -07:00
Branimir Karadžić
4fb802e405 Added R11G11B10F format. 2014-08-26 20:56:53 -07:00
Branimir Karadžić
66890595b9 Added serialization for vertex decl attribute enums. Binary format changes. Rebuilt all meshes and shaders. 2014-08-17 17:20:15 -07:00
Branimir Karadžić
3295126799 Updated texture container texture format support. 2014-08-12 21:47:01 -07:00
Branimir Karadžić
be4729940c Added BC6H and BC7 compressed formats. 2014-08-01 19:24:42 -07:00
Branimir Karadžić
6c8eeec36e Added caps info for all texture formats. 2014-07-27 20:44:02 -07:00
Branimir Karadžić
905d258e9f Cleanup. 2014-07-25 23:27:18 -07:00
Branimir Karadžić
ac49c6f129 Added RG8 texture format. 2014-07-25 23:16:11 -07:00
Branimir Karadžić
ade8f49b6d Added 32-bit texture formats. 2014-07-21 21:13:16 -07:00
Branimir Karadžić
4b5159394c Added shared library support. 2014-06-01 15:26:43 -07:00
Branimir Karadžić
b176ad42c1 Fixed type. 2014-06-01 13:26:57 -07:00
Branimir Karadžić
97090e826c Updated C99 header. 2014-06-01 13:25:31 -07:00
Branimir Karadžić
c4b040a382 Cleanup. 2014-06-01 12:01:50 -07:00
Branimir Karadžić
c677600057 Added documentation into C99 header. 2014-05-31 21:02:37 -07:00