Commit graph

1259 commits

Author SHA1 Message Date
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
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ć
146829b057 Commenting out RenderDoc interface release. Issue #380. 2015-05-11 18:23:02 -07:00
Branimir Karadžić
306b7060ca Cleanup. 2015-05-11 18:17:43 -07:00
Branimir Karadžić
1dd602dd83 EGL: Fixed compile error. 2015-05-11 14:27:38 -07:00
Branimir Karadžić
a40281ea23 Reverted MinGW info queue fix. Doesn't work with TDM64-1 4.9.2. Pull request #377. 2015-05-11 10:45:31 -07: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ć
3afcd2c7c4 Merge pull request #377 from Leandros/mingw-patch-1
fix building under mingw32-w64
2015-05-09 20:16:23 -07:00
Lars Viklund
b965f730c0 Create backbuffer RTVs honoring multisampling
When adding sRGB support for the backbuffer render target in D3D11,
the now explicitly specified RTV desc specifies a TEXTURE2D dimension.
For multisampled targets, this needs to be TEXTURE2DMS dimension.

This solves it by branching on the presence of MSAA in the reset flags but
could envisionably be obtained by looking at the desc of the backbuffer.
2015-05-10 01:14:43 +02:00
Arvid Gerstmann
3349d7334a fix building under mingw32-w64 2015-05-09 02:33:08 +02:00
Branimir Karadžić
1aea6fc415 Detect RenderDoc presence when it's injected. 2015-05-08 11:49:18 -07:00
Branimir Karadžić
916693c29b Fixed GLES 3.0+ build. 2015-05-08 10:39:56 -07:00
Branimir Karadžić
9e5e7d476b Cleanup. 2015-05-06 07:46:59 -07:00
Ka-ming Chan
e4c15eac32 fixed sRGB-texture related compile erros for gles 2.0 2015-05-06 21:04:12 +08: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ć
bd17691a41 Added sRGB texture caps. 2015-05-04 17:23:11 -07:00
Branimir Karadžić
76fa899c22 Merge pull request #373 from MikePopoloski/srgb
sRGB Support
2015-05-04 16:31:24 -07:00
Branimir Karadžić
33dc15476b Updated RenderDoc header to v0.24. 2015-05-04 15:46:55 -07:00
Branimir Karadžić
d5c737924e Added back buffer depth stencil pointer to platform data. 2015-05-04 14:05:04 -07:00
Branimir Karadžić
088bd06b04 Updated C99 API. 2015-05-03 00:01:33 -07:00
MikePopoloski
d5923e25fe sRGB support for D3D9 2015-05-02 23:54:51 -04:00
MikePopoloski
8919b15468 Adding sRGB support for D3D11 and DDS. 2015-05-02 22:57:42 -04:00
Branimir Karadžić
a91232015f Fixed warning. 2015-05-01 15:12:44 -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ć
3a0f46fe3f Fixed MinGW build. 2015-04-29 17:53:06 -07:00
Branimir Karadžić
d763196407 D3D11: Added draw indirect support. 2015-04-29 17:18:51 -07:00
Branimir Karadžić
80b6202ec0 Fixed switch without case warning. 2015-04-27 19:38:48 -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ć
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ć
ae497c58bb Fixed OVR build. 2015-04-25 16:56:29 -07:00
Branimir Karadžić
e5ed5db1f1 Exposed software rasterizer. 2015-04-24 14:57:00 -07:00
Branimir Karadžić
5f9c6df918 Clear bgfx context in single-threaded mode. 2015-04-24 12:15:53 -07:00
Branimir Karadžić
72086ef80a Fixed issue #360. 2015-04-24 09:33:36 -07:00
Andrew Johnson
158799e79c Fixes error C4701 in renderer_d3d11.cpp on VC12 build
renderer_d3d11.cpp(687, 0): error C4701: potentially uninitialized local variable 'adapter' used
2015-04-23 08:14:29 -07:00
Branimir Karadžić
4e431c99db EGL: Fixed use extension use. 2015-04-22 21:39:20 -07:00
Branimir Karadžić
0aa27c112f D3D11: Fixed default settings for user created device. 2015-04-22 15:30:01 -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ć
d1093eace8 Fixed build. 2015-04-22 00:22:18 -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ć
ccb0f73308 Updated compute shader image formats. 2015-04-21 11:49:28 -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ć
11794da949 Cleanup. 2015-04-18 00:39:57 -07:00
Ka-ming Chan
9e7e143f21 Add GLSurfaceView / external EGLContext support on Android by skipping the creation of BGFX's eglContext if g_bgfxAndroidWindow is set to NULL 2015-04-18 15:26:17 +08:00
Branimir Karadžić
62d2d744f9 Merge branch 'master' of github.com:bkaradzic/bgfx 2015-04-17 19:27:38 -07:00
Mike Popoloski
117571231a Fixing crash on WP8 ARM
The ViewState struct is so big that it blows out the stack on ARM devices. This change promotes it to a member variable.
2015-04-17 22:06:09 -04:00
James Darpinian
b54d33cdf7 Initialize Oculus pose after reset.
Without this change the pose is uninitialized during the first frame which causes Oculus timewarp to warp the output in crazy ways.
2015-04-17 11:03:41 -07:00
James Darpinian
8a689fac0d Switch Oculus distortion to high quality mode. 2015-04-17 11:03:04 -07:00
James Darpinian
ee649f682e Fix crash on shutdown in HMD mode.
Presumably this crash is due to a bug in either the Oculus SDK or DirectX itself as changing the order of releasing these objects should not have any effect.
2015-04-17 10:55:47 -07:00
Branimir Karadžić
a555a112a6 Cleanup. 2015-04-16 21:53:26 -07:00
Branimir Karadžić
4bc2df890a Make D3D11 work with outdated DXSDK. 2015-04-16 19:47:13 -07:00
Branimir Karadžić
a3a1127b4f Fixed MinGW build. 2015-04-16 19:28:18 -07:00
Mike Popoloski
4bc2e4ec10 This MakeWindowAssociation block got moved to the wrong branch of #if. 2015-04-16 21:47:41 -04:00
Mike Popoloski
3ed95c81f2 Adding proper caps support for D3D11 feature levels. 2015-04-16 19:24:28 -04:00
Mike Popoloski
b234364df9 Special casing texture2DLod for SM 2.0 targets
tex2Dlod and related functions are not supported in shader model 2.0 (or D3D11 feature level 9_x). This commit just aliases them to a straight texture lookup, which doesn't do the same thing but at least it won't fail to compile.
2015-04-16 19:24:27 -04:00
Branimir Karadžić
5c7986ad38 GL: Reset state when switching from compute to draw. 2015-04-16 11:38:46 -07:00
Miodrag Milanovic
6ca4a77353 Fixed initialization order warning 2015-04-16 14:23:02 +02:00
Branimir Karadžić
12998fe580 Update OVR pose. 2015-04-15 21:52:31 -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ć
4210fb0d64 Renamed reset flag. 2015-04-15 11:49:20 -07:00
Branimir Karadžić
9d91d3bbbc Reversed instance data bindings. Issue #309. 2015-04-15 10:37:00 -07:00
Branimir Karadžić
5ac092d036 Cleanup. 2015-04-14 22:05:20 -07:00
Branimir Karadžić
7bfe51d0d8 Added flip after submit reset flag. 2015-04-14 20:03:05 -07:00
Branimir Karadžić
87a5652b46 Added extra error checking when creating frame buffer. 2015-04-14 17:03:07 -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ć
74fb466e92 Fixed issue #308. 2015-04-14 17:01:35 -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ć
dedf75a89b Rebuilt shaders. 2015-04-12 22:26:40 -07:00
Branimir Karadžić
f203c872b1 Moved lcd/gcd and strideAlign functions from bgfx to bx. 2015-04-12 17:31:33 -07:00
Branimir Karadžić
bce1a52c42 Cleanup. 2015-04-12 16:26:59 -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ć
3362c31190 Merge pull request #331 from MikePopoloski/master
Remove dependence on legacy DXSDK
2015-04-10 21:05:03 -07:00
Mike Popoloski
d6da31d7f8 Rebuilding all embedded shaders. 2015-04-10 22:55:13 -04:00
Mike Popoloski
bfb793b3dd Fixing bug in compute shader macros
Buffer<> type in HLSL requires 't' registers, not 'b'. This probably worked by accident in old shader compiler but the latest version throws an error on it.
2015-04-10 22:48:07 -04:00
Branimir Karadžić
9aa304f86f Cleanup. 2015-04-10 19:21:31 -07:00
Branimir Karadžić
328f980945 Cleanup. 2015-04-10 08:33:20 -07:00
Miodrag Milanovic
ab94f3df36 Fix compile for FreeBSD 2015-04-10 16:11:55 +02:00
Branimir Karadžić
c9cd5521bd Fixed issue #327 (oops!). 2015-04-09 22:31:48 -07:00
Branimir Karadžić
da8a691163 Cleanup. 2015-04-09 21:57:05 -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ć
d94c38b7ef Fixed issue #325. 2015-04-09 20:03:59 -07:00
Branimir Karadžić
f24a84b8b1 Cleanup. 2015-04-09 19:38:51 -07:00
Branimir Karadžić
15206dc5a5 Fixed matrix cache size. 2015-04-09 17:36:36 -07:00
Mike Popoloski
e9f31b58d6 Allow the max draw call count to go above 65k. 2015-04-09 19:26:41 -04:00
Branimir Karadžić
5cd313e342 Cleanup. 2015-04-08 23:25:17 -07:00
Branimir Karadžić
c69f29cb36 D3D9: Fixed RGBA8 texture format. 2015-04-08 22:41:19 -07:00
Branimir Karadžić
a3a1ed112b Fixed variable shadowing warning. 2015-04-08 22:40:51 -07:00
Branimir Karadžić
23114a821c 32-bit indices support WIP. 2015-04-08 19:59:48 -07:00
Branimir Karadžić
1824a3f5bd Cleanup. 2015-04-08 14:16:02 -07:00
Branimir Karadžić
6fe02e7815 Fixed crash (Win7) when query IID_IDXGIDevice3 succeeds, but getting adapter fails. 2015-04-07 20:41:16 -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ć
c5a03233c0 Fixed shutdown sequence. 2015-04-06 18:22:15 -07:00
Miodrag Milanovic
9b71495507 Fix for :
error: array index 1 is past the end of the array (which contains 1 element) [-Werror,-Warray-bounds]
m_samplerFlags[stage][1] = UINT32_MAX;
2015-04-06 10:37:12 +02:00
Branimir Karadžić
1e8051fd00 Fixed variable shadowing. 2015-04-04 19:10:35 -07:00
Branimir Karadžić
4063b2a652 Cleanup. 2015-04-02 23:18:20 -07:00
Vas Crabb
9f1370c603 Fix leaks of autoreleased objects and allow building on OS X 10.6 Snow Leopard 2015-04-03 07:42:56 +11:00
Branimir Karadžić
46ad1aa51d Merge pull request #317 from mendsley/d3d11_cb_align16
D3D11 constant buffer must align ByteWidth to 16 bytes
2015-04-02 12:02:14 -07:00
Branimir Karadžić
2a725eca76 Made compute sort priority higher than sequence. 2015-04-02 11:58:24 -07:00
Branimir Karadžić
5a9b02ca31 Added view name flag for compute. 2015-04-02 11:57:53 -07:00
Matthew Endsley
2680bd0608 D3D11 constant buffer must align ByteWidth to 16 bytes
See remarks of:
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476092(v=vs.85).aspx

Most PC drivers don't seem to enforce this, but it will
crash the xb1 implementation if fed an unaligned value.
2015-04-02 11:45:34 -07:00
Branimir Karadžić
7ebc6e3cbb Updated C99 API. 2015-04-01 23:58:36 -07:00
Branimir Karadžić
ca41b8b774 Merge pull request #314 from mendsley/resolved3d11rt
Resolve D3D11 render targets before switching.
2015-04-01 19:26:34 -07:00
Branimir Karadžić
dd98c12901 Added release callback for makeRef. 2015-04-01 16:44:44 -07:00
Matthew Endsley
aa7f0149bd Resolve D3D11 render targets before switching. 2015-04-01 14:05:47 -07:00
Miodrag Milanovic
f1ae3f2a5c Fix BGFX compile 2015-04-01 13:02:48 +02:00
Branimir Karadžić
8f3708fe28 Cleanup. 2015-03-31 22:01:50 -07:00
Branimir Karadžić
ef5ba847eb Fixed MinGW build. 2015-03-31 17:15:17 -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ć
5eccbc7aa8 Cleanup. 2015-03-29 23:08:45 -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ć
bec3382e61 Cleanup. 2015-03-29 21:17:14 -07:00
Matthew Endsley
a8f715e279 Support Oculus SDK versions through 0.5.0.1-beta
Tested against the following SDKs:
 - 0.5.0-beta
 - 0.4.4-beta
 - 0.4.3-beta
 - 0.4.2-beta
 - 0.4.1-beta
 - 0.4.0-beta
2015-03-29 20:38:54 -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ć
4b18babb62 Updated C99 API. 2015-03-27 22:09:10 -07:00
Branimir Karadžić
bf393f69f7 Fixed handle check. 2015-03-27 19:52:31 -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ć
53b9e90d21 Added caps vendor/device info. 2015-03-26 19:39:55 -07:00
Branimir Karadžić
eeb491883d Added ability to select GPU. 2015-03-26 15:01:47 -07:00
Branimir Karadžić
a4bf237b05 Fixed handle check. 2015-03-26 15:01:09 -07:00
Branimir Karadžić
9b5f148d42 Improved handle error checking. 2015-03-25 23:33:35 -07:00
Branimir Karadžić
b19c391570 GLX: Fixed context destroy. 2015-03-25 21:23:48 -07:00
Branimir Karadžić
a797b00a7f Updated GLFW entry to test for exit. 2015-03-25 19:43:12 -07:00
Branimir Karadžić
4b60ddf44d Fixed GLFW3 integration on Linux. 2015-03-24 23:21:32 -07:00
Branimir Karadžić
0da6c77806 Added glfw entry. 2015-03-24 22:19:21 -07:00
Branimir Karadžić
b2c8c45b02 Cleanup. 2015-03-24 21:24:13 -07:00
Branimir Karadžić
c4ddb3b0e7 Fixed view remap. 2015-03-23 17:10:33 -07:00
Branimir Karadžić
476f438d7a Added new WEGL extensions. 2015-03-22 22:03:37 -07:00
Branimir Karadžić
317dc986f1 Fixed NaCl build. 2015-03-22 22:02:01 -07:00
Branimir Karadžić
db0934f419 Cleanup. 2015-03-22 10:18:47 -07:00
Branimir Karadžić
6ba3a60c1a Fixed amalgamated build with multiple renderers. 2015-03-21 22:11:59 -07:00
Branimir Karadžić
81c93758e3 Added header guards to ovr.h. 2015-03-21 18:13:05 -07:00
Branimir Karadžić
32f4165aa9 Updated GENie script to remove *.bin.h from projects. 2015-03-21 17:42:46 -07:00
Branimir Karadžić
5802af7329 Made vertex decl begin accept RenderType::Count as default. 2015-03-18 12:42:59 -07:00
Branimir Karadžić
b2da0cce93 Added [u/i]sampler3D. 2015-03-17 17:27:04 -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ć
19c8214485 Commented out D3D_DISABLE_9EX, some D3D9 headers are not handling it properly (f.e. MinGW 3.1 runtime, default VS headers). 2015-03-14 10:59:11 -07:00
Branimir Karadžić
d67a940802 D3D11: Handle CheckFeatureSupport gracefully, 2015-03-13 11:48:27 -07:00
Branimir Karadžić
13fb047a51 GL: Fixed framebuffer with stencil attachment. 2015-03-12 22:35:45 -07:00
Branimir Karadžić
7fca16b68d Fixed typo. 2015-03-12 17:59:03 -07:00
Branimir Karadžić
441e674459 D3D11: Texture format caps. 2015-03-11 21:52:10 -07:00
Branimir Karadžić
918b111eb5 Cleanup. Added state cache. 2015-03-05 21:11:44 -08:00
Branimir Karadžić
2ce33465d5 Added Vulkan stub. 2015-03-05 20:34:39 -08:00
Branimir Karadžić
a819a3f73e Added error check for use of TextureFormat::BGRA8 in compute. 2015-03-05 19:31:20 -08: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ć
64a32ecdf5 D3D11: Fixed crash with RenderDoc. 2015-03-03 15:16:17 -08:00
Branimir Karadžić
ac34be556a D3D11: Fixed buffer update. Issue #271. 2015-03-03 14:37:18 -08:00
Branimir Karadžić
93b5b0a20c Added imageLoad/Store overloads. 2015-03-02 17:58:43 -08:00
Branimir Karadžić
478449e23a Adding vertex textures WIP. 2015-03-01 22:01:30 -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ć
a396f671ec Added more handle checks. 2015-02-25 22:40:56 -08:00
Branimir Karadžić
579f43fad7 Added number of views to caps. 2015-02-25 21:12:52 -08:00
Branimir Karadžić
b80edd19ff Added handle debug checks. 2015-02-25 19:46:10 -08:00
Branimir Karadžić
26e96b0489 GL: Fixed program sampler count. 2015-02-24 15:18:33 -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ć
7652b05cc5 Fixed GCC 4.9 type-limit warning. 2015-02-23 11:33:02 -08:00
Branimir Karadžić
cc9ed76048 D3D11: Disable alt-enter. 2015-02-22 20:30:17 -08:00
Branimir Karadžić
4685fdeca3 Fixed dynamic vertex/index buffer leak warning. Issue #263. 2015-02-21 21:51:06 -08:00
Branimir Karadžić
c3112bce2a Fixed GCC warning. 2015-02-21 21:50:16 -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ć
078dd5127f Added HLSL pack/unpackHalf2x16. 2015-02-18 17:37:07 -08:00
Branimir Karadžić
1295de90ea Remove destroyed uniform from hash map. 2015-02-17 17:08:08 -08:00
Branimir Karadžić
3838492e8d Dispatch compute is always in sequential mode. 2015-02-17 16:26:35 -08:00
Branimir Karadžić
b8d065da79 Merge branch 'master' of github.com:bkaradzic/bgfx 2015-02-17 11:50:38 -08:00
Branimir Karadžić
7279a31768 GL: Cache current GL context. Issue #262. 2015-02-17 11:50:31 -08:00
Branimir Karadžić
5ff63f93b6 Cleanup. 2015-02-16 22:53:06 -08:00
Branimir Karadžić
13ac805085 Cleanup. 2015-02-16 21:58:13 -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ć
39e6eff1e0 Updated DDS formats. 2015-02-14 15:45:51 -08:00
Branimir Karadžić
3fb7221df2 Cleanup. 2015-02-13 09:33:56 -08:00
Branimir Karadžić
4f28cffa1a Fixed issue #259. 2015-02-12 08:26:21 -08:00
Branimir Karadžić
06eef99ce9 Added legacy DDS pixel format decoding. 2015-02-11 14:57:09 -08:00
Branimir Karadžić
b27c945cef Reverted bad commit. 2015-02-10 14:26:13 -08:00
Branimir Karadžić
06ad146d9f Updated compute shader header. 2015-02-10 14:22:56 -08:00
Branimir Karadžić
74b59f1692 GL: Fixed optional import. 2015-02-09 16:19:53 -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ć
ef84ba3f1f Cleanup. 2015-02-08 11:02:39 -08:00
Branimir Karadžić
1d4eb335a7 Removed X11 include in bgfxplatform.h. 2015-02-06 16:49:04 -08:00
Branimir Karadžić
b01f289340 Fixed issue #252. 2015-02-06 10:47:53 -08:00
Branimir Karadžić
5fc9ac494b DX11: Embedded ID3D11InfoQueue GUID. 2015-02-04 19:33:31 -08:00
Branimir Karadžić
f0f0d08417 Fixed texture info. 2015-02-02 20:42:59 -08:00
Branimir Karadžić
8942628ec1 Fixed texture size calculation. 2015-02-02 20:30:57 -08:00
Branimir Karadžić
c2e100d65d Added minimum number of blocks for PTC textures. Issue #250. 2015-02-01 21:38:47 -08:00
Branimir Karadžić
c7a32e63cc Cleanup. 2015-01-31 15:06:44 -08:00
Branimir Karadžić
aea2cd2ce3 Fixed GLX context. 2015-01-31 13:55:02 -08:00
Branimir Karadžić
c65f04ae05 EGL: Added ability to use EGL on Linux. 2015-01-31 13:47:27 -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ć
3de816bf34 Added dynamic buffer resizing. 2015-01-28 17:56:29 -08:00
Branimir Karadžić
34ab21c7cf Merge branch 'master' of github.com:bkaradzic/bgfx 2015-01-28 11:53:21 -08:00
Branimir Karadžić
37ec631ec7 Fixed issue #249. 2015-01-28 11:52:58 -08:00
Branimir Karadžić
3b54571447 Reverted bad commit. 2015-01-26 19:46:18 -08:00
Branimir Karadžić
b2a91c4a29 Cleanup. 2015-01-26 19:09:51 -08:00
Branimir Karadžić
02d32dc1bb Fixed vertex buffer update offset. 2015-01-26 09:19:34 -08:00
Branimir Karadžić
5129b8462e Updated DX12 stub. 2015-01-24 22:19:42 -08:00
Branimir Karadžić
f763ec9355 Updated .gitignore. 2015-01-24 22:07:42 -08:00
Branimir Karadžić
3a7e9ff7cd Fixed transient buffer alignment. 2015-01-23 22:40:04 -08:00
Branimir Karadžić
2764d9d2aa Fixed issue #239. 2015-01-23 22:18:07 -08:00
Branimir Karadžić
938c1a0e92 Fixed dynamic index buffer offset. 2015-01-23 17:27:15 -08:00
Branimir Karadžić
6fda797b23 Merge branch 'dev' 2015-01-21 20:41:48 -08:00
Branimir Karadžić
0516b5603b Added max anisotropy reset flag. 2015-01-21 20:39:42 -08:00
Branimir Karadžić
a47839be56 Removed glcontext_ios.h issue #237. 2015-01-20 22:14:27 -08:00
Branimir Karadžić
be8c9576f5 Fixed issue #225. 2015-01-20 22:07:30 -08:00
Branimir Karadžić
6cb953af14 Rename bx::swap to bx::xchg. 2015-01-20 00:04:30 -08:00
Branimir Karadžić
21fff2de4b Cleanup. 2015-01-14 21:31:08 -08:00
Branimir Karadžić
1cf70cbcdd Fixed compiler warning. 2015-01-13 22:49:39 -08:00
Branimir Karadžić
069de61bdb Combined sampler and compute binding. 2015-01-13 22:34:48 -08:00
Branimir Karadžić
99af670622 Cleanup. 2015-01-13 19:43:04 -08:00
Miodrag Milanovic
86d6e003cc Mark DX11 as unsuported if build is created for higher windows version but running on WinXP or lower 2015-01-13 19:35:44 +01:00
Miodrag Milanovic
13ca8fc45b On 32bit we should try DX9 too on Win 8 2015-01-13 16:03:50 +01:00
Branimir Karadžić
4e39749b1e DX11: Fixed initialization error when D3D11 SDK Layers is not present. 2015-01-12 20:46:50 -08:00
Branimir Karadžić
8d70a2abde Added gl_PrimitiveID builtin for fragment shaders. 2015-01-12 19:37:42 -08:00
Branimir Karadžić
904f52ab91 Fixed compile error. 2015-01-11 18:02:34 -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ć
eef76d08cb Added PTC14(A) to emulated formats. 2015-01-10 15:16:08 -08:00
Branimir Karadžić
01ac66258e Added PTC14(A) decoding fallback. 2015-01-09 22:31:52 -08:00
Branimir Karadžić
dbca2689ca Fixed issue#226. 2015-01-08 20:43:36 -08:00