Commit graph

1108 commits

Author SHA1 Message Date
Branimir Karadžić
3106cabe36 D3D9: Fixed framebuffer postReset. 2015-08-06 15:37:13 -07:00
Mikulas Florek
920a85a4cf d3d9 framebuffer correctly handles bgfx::reset 2015-08-06 23:02:43 +02:00
Branimir Karadžić
4ce0c5703e Added AttribType::Uint10 encoding/decoding. 2015-08-04 21:55:47 -07:00
Branimir Karadžić
f54ffcca42 GLES: Fixed build. 2015-08-04 20:06:01 -07:00
Branimir Karadžić
8da579ff99 Added vertex attrib Uint10. 2015-08-04 19:03:56 -07:00
Branimir Karadžić
d0b4657e15 GL: Fixed depth/stencil attachemnt logic. 2015-08-04 08:40:14 -07:00
Branimir Karadžić
a53e6270ae D3D12: Present min/max stats reset. 2015-08-03 23:12:07 -07:00
Branimir Karadžić
b5bd7054d7 D3D12: Fixed screenshot. 2015-08-03 22:55:18 -07:00
Branimir Karadžić
f3c6cb23e8 Cleanup. 2015-08-03 22:39:50 -07:00
Branimir Karadžić
756e8c58f0 Cleanup. 2015-08-03 21:47:49 -07:00
Branimir Karadžić
91ac245fd5 Cleanup. 2015-08-03 21:40:58 -07:00
Branimir Karadžić
9238fad658 Cleanup. 2015-08-03 19:58:46 -07:00
Branimir Karadžić
f0d8a9b9f4 D3D12: Screenshot. 2015-08-02 17:01:21 -07:00
Branimir Karadžić
e4881f986c Cleanup. 2015-08-02 12:50:57 -07:00
Branimir Karadžić
cfb8e8a13a D3D12: Fixed command allocator leak. 2015-08-01 22:58:57 -07:00
Branimir Karadžić
6a0217bbf1 Fixed MinGW build. Issue #467, 2015-07-31 17:34:48 -07:00
Branimir Karadžić
acfe29432d D3D9: Fixed timer query. 2015-07-31 16:22:47 -07:00
Branimir Karadžić
5b8a55b859 D3D12: Fixed refcount problem. 2015-07-30 21:20:46 -07:00
Branimir Karadžić
5f59978e6b Added graceful error handling during initialization. 2015-07-30 18:36:12 -07:00
Branimir Karadžić
8adc099b02 Cleanup. 2015-07-30 11:36:26 -07:00
Branimir Karadžić
a6983339c8 Fixed release build. 2015-07-29 21:02:41 -07:00
Branimir Karadžić
c2398f34c0 Cleanup. 2015-07-29 19:50:25 -07:00
Branimir Karadžić
b702dcdf3c D3D12: Initial commit. 2015-07-29 19:38:17 -07:00
Branimir Karadžić
874ff3c155 DX11: DXGI debug layers. 2015-07-29 14:49:24 -07:00
Branimir Karadžić
cb60707681 Added DX_NAME macro. 2015-07-28 23:18:25 -07:00
Branimir Karadžić
1a7f1a19cc Fixed Linux build. 2015-07-28 22:35:01 -07:00
Branimir Karadžić
eecb4be9e9 Added memory size sanity check. 2015-07-28 21:39:26 -07:00
Branimir Karadžić
623624b456 Fixed issue #464. 2015-07-28 20:56:41 -07:00
Branimir Karadžić
cb6cee9dd1 Updated trace callback. 2015-07-24 18:02:17 -07:00
Branimir Karadžić
1fa85ccf27 Replaced bgfx::setProgram function with bgfx::submit argument. Added bgfx::touch and bgfx::getStats. 2015-07-22 18:05:11 -07:00
Branimir Karadžić
6bdf5c4bad Cleanup. 2015-07-21 18:15:12 -07:00
Ka Ming Chan
20a27012a0 improved the handling of iOS UIView resize / rotate by recreating the frame-buffer and render-buffer objects 2015-07-21 20:37:59 +08:00
Branimir Karadžić
f15008311a Fixed issue #452. 2015-07-17 11:12:41 -07:00
Branimir Karadžić
921a315c4d Cleanup. 2015-07-16 20:28:43 -07:00
Branimir Karadžić
b98d3b6978 Added trace method to callback interface. 2015-07-16 17:39:02 -07:00
Branimir Karadžić
6c48b12a3f Fixed issue #447. 2015-07-02 17:05:51 -07:00
Branimir Karadžić
ff16073599 Fixed issue #445. 2015-06-30 19:40:49 -07:00
Branimir Karadžić
f44f5b32b1 Added missing C99 API function. 2015-06-27 16:47:07 -07:00
Branimir Karadžić
4cf393bed6 Fixed MinGW warning. 2015-06-25 16:33:56 -07:00
Nick Porcino
f9907aaa58 Fix for Context not bound on OSX 10.10.3 #439 2015-06-24 22:54:47 -07:00
Branimir Karadžić
e84ecf6ee8 Fixed MSVC warning. 2015-06-24 10:20:01 -07:00
Branimir Karadžić
f36bfe2e4f Added offset for updating dynamic buffers. 2015-06-23 16:40:38 -07:00
Branimir Karadžić
3eb0659898 Cleanup. 2015-06-22 20:45:50 -07:00
Branimir Karadžić
5e0948c7a8 Cleanup. 2015-06-21 20:00:00 -07:00
Branimir Karadžić
8109de5461 Cleanup. 2015-06-20 14:27:59 -07:00
Branimir Karadžić
f2e8d6c239 Fixed variable shadowing warning. 2015-06-19 21:08:32 -07:00
Branimir Karadžić
4408e44515 Merge branch 'master' of cane:bkaradzic/bgfx into dev 2015-06-19 20:01:42 -07:00
Branimir Karadžić
a39ba04e26 Fixed Linux build. 2015-06-19 19:55:23 -07:00
Branimir Karadžić
d7a9b56dc6 Added ObjC amalgamated file. 2015-06-19 17:34:01 -07:00
Branimir Karadžić
5ebe50c705 Cleanup. 2015-06-18 22:33:06 -07:00
Branimir Karadžić
c80cc04445 Removed mapped constant buffers (it doesn't improve performance). 2015-06-18 20:39:16 -07:00
Branimir Karadžić
faf3164ecb Fixed issue #436. 2015-06-17 10:04:12 -07:00
Branimir Karadžić
527ab0bcc1 shaderc: Metal fixes. 2015-06-12 15:22:01 -07:00
Branimir Karadžić
3dd3a86a4d Fixed amalgamated build. 2015-06-11 14:26:01 -07:00
Branimir Karadžić
85de7fa148 Fixed VS2008 build. 2015-06-11 20:16:38 -07:00
Branimir Karadžić
52cfaf0aaa Added Metal renderer backend stub. 2015-06-11 09:38:17 -07:00
Kocsis Attila
e97be61a75 added iOS GL extension function import 2015-06-10 15:52:12 +02:00
Branimir Karadžić
ef143a1bb6 Fixed issue #429. 2015-06-09 19:57:10 -07:00
Branimir Karadžić
466c76071a Cleanup. 2015-06-05 10:43:43 -07:00
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
Branimir Karadžić
ad4b2f134f Merge branch 'master' of github.com:bkaradzic/bgfx 2015-06-04 22:26:09 -07:00
Branimir Karadžić
132b0c9a1b Cleanup. 2015-06-04 22:24:45 -07:00
Branimir Karadžić
66ad074f90 Merge pull request #420 from mendsley/vr_eye_bleeding
VR: Add buffer between left/right eye textures
2015-06-04 19:23:59 -07:00
Matthew Endsley
9020994470 VR: Add buffer between left/right eye textures
This prevents bleeding across the individual viewports
when the oculus SDK applies distortion mapping. The current
reccommended values are 100px for SDK <= 0.5 and 8px for > 0.5

See: http://static.oculus.com/sdk-downloads/documents/0.6.0/Oculus_Developer_Guide.pdf
  in the "Bugs Fixed Since the Last Release" section.

For an example of this artifact, see the correct scene render:
![Imgur](http://i.imgur.com/fZZExg8.jpg)

followed by a scene that bleeds the left eye into the right eye:
![Imgur](http://i.imgur.com/dZalmPS.jpg)
2015-06-04 18:44:31 -07:00
Matthew Endsley
acdaefb161 VR: Fix OVR_VERSION macro.
Was previously supplying (major,minor,build) when it is
actuall (product,major,minor).

For example, the 0.5.0 SDK has the following:
```
 #define OVR_PRODUCT_VERSION 0
 #define OVR_MAJOR_VERSION   5
 #define OVR_MINOR_VERSION   0
 #define OVR_PATCH_VERSION   1
 #define OVR_BUILD_NUMBER    0
```
2015-06-04 18:41:35 -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ć
e1a564ca72 Fixed noop renderer. 2015-06-02 23:29:26 -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
Miodrag Milanovic
b925007b9d Fix for MINGW compile (nw) 2015-05-27 12:27:00 +02:00
Mike Popoloski
b32fc0ec27 Fixing display bug when using flip-sequential swap effect. 2015-05-24 13:29:21 -04:00
Branimir Karadžić
d58d62401e Added texture size check. 2015-05-24 10:20:21 -07:00
Branimir Karadžić
0c78fe8073 Cleanup. 2015-05-21 17:58:21 -07:00
Branimir Karadžić
a361918374 Fixed issue #392. 2015-05-21 17:49:02 -07:00
Branimir Karadžić
cd234013ce Fixed mach TLS issue. 2015-05-21 16:50:14 -07:00
Branimir Karadžić
57f61b7e32 Added ability to run in single-thread mode without rebuild. 2015-05-21 16:45:24 -07:00
Branimir Karadžić
ab22eca640 D3D9: Fixed clear quad. 2015-05-20 17:02:19 -07:00
Branimir Karadžić
2e56304280 Fixed leak in single-threaded mode. 2015-05-19 15:52:47 -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
Matthew Endsley
b124334343 Map/Unmap constant buffers instead of using UpdateSubResource
(XB1) Drops GPU Busy % on spiral from 65% to 20%

(PC) Drops bgfx::d3d11::RendererContextD3D11::commitShaderConstants
CPU usage by 95% (11.21%->0.66%)

(PC) Overall decreases bgfx::d3d11::RenderContextD3D11::submit CPU
usage by another 34% (27.18%->17.90%)
2015-05-17 13:08:33 -07:00
Mike Popoloski
ad9e9fe111 Adding missing C99 API methods. 2015-05-16 19:07:10 -04:00
Branimir Karadžić
4b18beb082 Rollback #389. 2015-05-15 20:08:38 -07:00
Branimir Karadžić
e348c08ebe D3D11: Disable map constant buffers. 2015-05-15 19:48:36 -07:00
Branimir Karadžić
991a9604cb Merge branch 'master' of github.com:bkaradzic/bgfx 2015-05-15 16:49:59 -07:00
Branimir Karadžić
c957a3dd51 Fixed timer query. 2015-05-15 16:49:53 -07:00
Matthew Endsley
51875f88b0 Map/Unmap constant buffers instead of using UpdateSubResource
(XB1) Drops GPU Busy % on spiral from 65% to 20%

(PC) Drops bgfx::d3d11::RendererContextD3D11::commitShaderConstants
CPU usage by 95% (11.21%->0.66%)

(PC) Overall decreases bgfx::d3d11::RenderContextD3D11::submit CPU
usage by another 34% (27.18%->17.90%)
2015-05-15 13:38:43 -07:00
Branimir Karadžić
2a49e5a143 Added flush after render reset flag. 2015-05-15 13:14:35 -07:00
Branimir Karadžić
a8ef81ae4b D3D11: Force draw indirect UAV format to be uint32x4. 2015-05-14 14:38:53 -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