Commit Graph

3057 Commits

Author SHA1 Message Date
Бранимир Караџић
2cbcb6ea90 RRenamed BX_CHECK to BX_ASSERT. 2020-06-16 10:06:18 -07:00
Бранимир Караџић
ee78de075c Cleanup. 2020-06-16 08:25:54 -07:00
Бранимир Караџић
5b42be38ec Cleanup. 2020-06-15 16:21:55 -07:00
Бранимир Караџић
867b47bd40 Cleanup. 2020-06-15 10:34:47 -07:00
Бранимир Караџић
0f8c6aed5c Fixed max encoders in single-threaded mode bug. 2020-06-15 10:30:51 -07:00
Justin Murray
86bd3ad9ad
Broadened bypass mechanism for bgfx default headers in the OpenGL renderer. This reflects the fact that, if the first line of a shader is already a #version declaration, we never want to write lines above that regardless of what version is declared. (#2168) 2020-06-12 21:16:06 -07:00
Бранимир Караџић
ad09986c6c Cleanup. 2020-06-06 14:49:46 -07:00
Julian Xhokaxhiu
7c24f1bc24
Fix Intel GPU initialization context (#2161)
This will fix some weird green lines appearing only on Intel GPUs, while using OpenGL.
2020-06-06 21:45:39 +00:00
Бранимир Караџић
05dcebb53a Removed useless check. 2020-06-06 09:13:56 -07:00
juj
75384ccfe1
Add checks for Emscripten API return values to make sure API calls are not failing (#2160) 2020-06-05 07:34:11 -07:00
Бранимир Караџић
10dfece7ec VK: Fixed caps. 2020-06-03 20:38:34 -07:00
Бранимир Караџић
0ca67d5940 VK: Detect maxTextureLayers. 2020-06-03 19:04:15 -07:00
Бранимир Караџић
40d7c6e98f Cleanup. 2020-06-03 18:13:52 -07:00
Бранимир Караџић
d5f6a34a78 Updated version number. 2020-06-03 17:59:11 -07:00
Бранимир Караџић
8065659e90 Added configurable minimum resource command buffer size. 2020-06-03 17:58:54 -07:00
Бранимир Караџић
346b1af9e9 Cleanup. 2020-05-31 22:36:09 -07:00
Бранимир Караџић
3f5a38380c Removed VK_LAYER_RENDERDOC_Capture https://github.com/baldurk/renderdoc/issues/1392#issuecomment-495894791. 2020-05-31 17:04:29 -07:00
Бранимир Караџић
1329731f3c Cleanup. 2020-05-31 13:26:16 -07:00
Hugo Amnov
49687638ef
Remove some code duplication in D3D12 (#2144) 2020-05-31 13:22:21 -07:00
Бранимир Караџић
3aba9f6750 Fixed warning. 2020-05-31 11:09:30 -07:00
Бранимир Караџић
977188e9de Added weldVertices 32-bit indices support. 2020-05-30 21:38:41 -07:00
Бранимир Караџић
2baa857065 Fixed IDL generator mix of short/long Doxygen comments. 2020-05-30 09:21:49 -07:00
Бранимир Караџић
1c063fdc67 Fixed spelling. 2020-05-30 08:22:08 -07:00
juj
098e6194d9
Update examples to build on Emscripten Wasm. Add separate wasm and wasm2js targets. (#2145) 2020-05-16 19:45:55 -07:00
Бранимир Караџић
52f728b253 Updated vulkan headers. 2020-05-15 23:36:29 -07:00
Бранимир Караџић
7676a2f2bd Cleanup. 2020-05-15 21:58:43 -07:00
Бранимир Караџић
2928ba8c07 Fixed build. 2020-05-15 17:15:35 -07:00
Hugo Amnov
8ee6654695 Cleanup dead code (#2143) 2020-05-15 13:35:38 -07:00
Бранимир Караџић
594be53891 Reverted #2021. 2020-05-12 07:11:01 -07:00
Бранимир Караџић
cfaff9ba7c Updated version number. 2020-05-10 22:08:01 -07:00
Бранимир Караџић
30bda403f7 Cleanup. 2020-05-10 17:48:59 -07:00
Hugo Amnov
e1c211b537
WebGPU various small fixes (#2140) 2020-05-10 17:48:25 -07:00
Бранимир Караџић
c2e05d0554 Cleanup. 2020-05-09 19:12:18 -07:00
Бранимир Караџић
f13e5adf4b Cleanup. 2020-05-08 19:57:18 -07:00
Бранимир Караџић
25bf17fe3e Merge branch 'master' of github.com:bkaradzic/bgfx 2020-05-08 12:54:56 -07:00
Бранимир Караџић
311cfb4667 Remove crap. 2020-05-08 12:54:50 -07:00
Hugo Amnov
66ce0d59c9
Fix order of uniforms staging and render commands (#2137) 2020-05-08 12:51:02 -07:00
Бранимир Караџић
aaf7e2429b Cleanup. 2020-05-08 11:43:38 -07:00
Бранимир Караџић
12dce12b51 Fixed build. 2020-05-08 09:28:20 -07:00
Бранимир Караџић
7a687904c7 Cleanup. 2020-05-08 09:15:24 -07:00
Бранимир Караџић
4e41f3d0bd Fixed build. 2020-05-08 09:03:02 -07:00
Hugo Amnov
b62302631e
Add Webgpu backend (#2132)
* WebGPU first draft (shaderc bin version 8)

* WebGPU scripts
2020-05-08 08:53:53 -07:00
juj
486f8bde71
Optimize hot matrix maths in renderer draw call submission (#2135) 2020-05-06 07:38:54 -07:00
Бранимир Караџић
1ecaeea7bb Updated version number. 2020-05-03 19:58:30 -07:00
Бранимир Караџић
f2e79bbe41 Fixed #2133. 2020-05-03 19:58:15 -07:00
Hugo Amnov
6601a4a6f7
Fix Vulkan texture update/upload (#2130) 2020-05-03 14:22:20 -07:00
Hugo Amnov
b48b084d25
Vulkan cleanup for Webgpu (#2127)
* Harmonize and simplify Vulkan SPIRV bindings mappings

* Handle Vulkan V-flip properly

* Update Embedded shaders
2020-05-03 13:54:30 -07:00
Hugo Amnov
f9b1a9f5d4
Vulkan cleanup and minor bug fixes (#2129) 2020-05-03 13:27:31 -07:00
kingscallop
55a0427f93
Don't bind descriptorSetLayout if not present on program (#2124) 2020-05-01 09:39:30 -07:00
kingscallop
d619783769
Reworked vulkan layers and extensions support (#2117)
Better support for enabling and disabling vulkan instance layers and instance extensions and vulkan device layers and device extensions.
2020-05-01 07:39:21 -07:00
kingscallop
eaab1be079
Fix GpuShader5 extension on Intel and support 'bitsTo' functions (#2118)
GpuShader5 extension isn't supported on fragment shaders.
Bumps the GLSL version to support the 'bitsTo' functions when present on the shader.
2020-04-26 20:43:03 -07:00
kingscallop
cb113a95fb
Fix the missing clear of the depth buffer handle (#2122) 2020-04-26 20:32:27 -07:00
kingscallop
845f8692a5
Fix vulkan validation warning about alignment (#2121) 2020-04-26 20:32:10 -07:00
kingscallop
09c02f999d
Fixed small typo (#2120) 2020-04-26 20:30:45 -07:00
Бранимир Караџић
7792a893af Cleanup. 2020-04-25 09:50:52 -07:00
Vladimir Vukicevic
69eac20a04
fix BX_TRACE in glcontext_html5.cpp (#2111) 2020-04-23 15:43:03 -07:00
Бранимир Караџић
9200cdb5e8 Fixed build. 2020-04-19 21:57:08 -07:00
Бранимир Караџић
36ec2a462d Removed alignment macros, and added functions instead. 2020-04-19 18:23:04 -07:00
Бранимир Караџић
00d1225cc6 Updated docs. 2020-04-16 21:27:48 -07:00
Бранимир Караџић
000a3b704c Cleanup. 2020-04-14 08:37:07 -07:00
Бранимир Караџић
23998f3d78 Fixed typo. 2020-04-08 08:05:11 -07:00
Бранимир Караџић
5555c73b3a Cleanup. 2020-04-07 23:59:16 -07:00
Бранимир Караџић
9c5a236230 Cleanup. 2020-04-07 23:51:51 -07:00
Бранимир Караџић
1361ccf211 Revert "Revert "Avoid redundant uniform uploads (#2090)""
This reverts commit c023ac4620.
2020-04-07 23:43:21 -07:00
Бранимир Караџић
c023ac4620 Revert "Avoid redundant uniform uploads (#2090)"
This reverts commit d9d9865ad9.
2020-04-07 23:23:54 -07:00
juj
d9d9865ad9
Avoid redundant uniform uploads (#2090)
* Avoid redundant uniform uploads

* Fix placement of GL_CHECK()s and import of glUniform4f.

* Fix typo

* Migrate GL uniform cache to use tinystl to conform to BGFX data structures

* Address review

* Address review
2020-04-07 23:08:09 -07:00
Бранимир Караџић
aff6bc0d41 Renamed directory containing vulkan headers to avoid clash with system headers. Fixed issue #2097. 2020-04-07 20:42:53 -07:00
Бранимир Караџић
aeec903fc3 Fixed #2102. 2020-04-07 15:58:25 -07:00
G
f07a0f5179
Added support for the extension OES_EGL_image_external(_essl3) for GLES2/3 (#2021)
Co-authored-by: Gabriel <gabriel.sulka@visiarc.com>
2020-04-06 08:20:49 -07:00
Pablo Escobar
eeb5fe7c02 Don't double-quote profiler literals 2020-04-03 21:56:54 +00:00
Pablo Escobar
1b85139371 Revert "Remove debug label quotes"
This reverts commit 08b3ec5814.
2020-04-03 21:56:54 +00:00
Pablo Escobar
c08d451493 Formatting 2020-04-03 21:56:54 +00:00
Pablo Escobar
08360a338a Vulkan: streamline debug labels (+ color) 2020-04-03 21:56:54 +00:00
Pablo Escobar
fdcdeae23a Remove debug label quotes 2020-04-03 21:56:54 +00:00
Бранимир Караџић
ae4a804f01 Updated version number. 2020-04-02 19:09:26 -07:00
Бранимир Караџић
06460b8ac2 Fixed discard flags. 2020-04-02 19:04:13 -07:00
Бранимир Караџић
83a211efac Updated version number. 2020-04-01 20:51:05 -07:00
Бранимир Караџић
c306e3b4bf Added bgfx version number. 2020-04-01 20:50:44 -07:00
Бранимир Караџић
ebc55f8083 Cleanup. 2020-03-31 18:52:02 -07:00
paul gruenbacher
c92e647b1a add missing flags to conditional check 2020-03-31 23:47:40 +00:00
Бранимир Караџић
f2290c1b57 Move GL_CHECK to GL callsites. 2020-03-30 09:08:10 -07:00
paul gruenbacher
5b9dd78383 make sure depth textures are resolved as well when blitting frameBuffer 2020-03-30 15:57:13 +00:00
Бранимир Караџић
a594cfa391 Cleanup. 2020-03-30 08:38:33 -07:00
Jukka Jylänki
7aed93f392 Adjust integer texture format enums for desktop OpenGL < 4.0 2020-03-30 15:35:15 +00:00
Jukka Jylänki
3ad3227595 Revert back to using GL_HALF_FLOAT (that is GL_HALF_FLOAT_OES) 2020-03-30 15:35:15 +00:00
Jukka Jylänki
43bd07f825 Fix OpenGL ES texture formats and remove runtime texture probing on WebGL. 2020-03-30 15:35:15 +00:00
Бранимир Караџић
e495c613a5 Cleanup. 2020-03-30 08:34:58 -07:00
Jukka Jylänki
d26aac6d2c Create WebGL 2 context if available. Work around Chrome performance bug https://bugs.chromium.org/p/chromium/issues/detail?id=1045643 2020-03-30 15:27:17 +00:00
Jukka Jylänki
4a8276cb29 Optimize glUniform1iv and glUniform4fv to use faster glUniform1i and glUniform4f on WebGL. 2020-03-30 15:26:49 +00:00
Jukka Jylänki
bab9dc752e Avoid redundant GL calls to glEnableVertexAttribArray() and glDisableVertexAttribArray(). #1960 2020-03-30 15:26:15 +00:00
Pablo Escobar
be626359f9 Fix #2071 again 2020-03-29 16:16:33 +00:00
Бранимир Караџић
6c0c5c9921 Renamed vertexdecl.* to vertexlayout.* 2020-03-28 20:06:03 -07:00
Pablo Escobar
1c9e6e6bb6 Fix #2071, #1950 2020-03-28 16:35:41 +00:00
Pablo Escobar
1f5ca837de Vulkan: fall back to deprecated validation layers if necessary 2020-03-27 04:35:19 +00:00
Pablo Escobar
9482c8589e Vulkan: bind correct compute index buffer 2020-03-26 22:17:53 +00:00
Pablo Escobar
d3e4e35700 Formatting 2020-03-26 19:03:05 +00:00
Pablo Escobar
570d269b86 Vulkan: enable sRGB backbuffer and sRGB textures 2020-03-26 19:03:05 +00:00
Pablo Escobar
0636436006 Vulkan: fix validation errors, switch to new validation layers 2020-03-24 21:28:48 +00:00
Бранимир Караџић
dc25f517a2 Revert "Allow macro expansion for sampler registers with HLSL 4 and below"
This reverts commit 77cd6482e7.
2020-03-23 11:49:51 -07:00
Бранимир Караџић
17d5a24279 Merge branch 'master' of github.com:bkaradzic/bgfx 2020-03-22 13:53:12 -07:00
Бранимир Караџић
34caa9cfb3 Fixed issue #2072. 2020-03-22 13:52:50 -07:00
Pablo Escobar
77cd6482e7 Allow macro expansion for sampler registers with HLSL 4 and below 2020-03-22 20:51:37 +00:00
Бранимир Караџић
8e18824460 Cleanup. 2020-03-22 13:51:09 -07:00
Pablo Escobar
c9fcca6327 Vulkan: use correct vertex layout for calculating vertex count 2020-03-22 20:47:35 +00:00
Бранимир Караџић
126a3fa6da Fixed issue #2072. 2020-03-21 20:42:10 -07:00
Бранимир Караџић
387ac7fc25 Cleanup. 2020-03-18 21:39:48 -07:00
Бранимир Караџић
7f8471e168 Fixed aligned delete. 2020-03-18 18:34:05 -07:00
Cedric Guillemet
dbb83d2525 PR feedback 2020-03-18 02:14:20 +00:00
Cedric Guillemet
0881d98bd2 Discard flags for submit call 2020-03-18 02:14:20 +00:00
Бранимир Караџић
4d50e90dd2 Removed support for SteamLink (discontinued 11/2018). 2020-03-11 21:49:11 -07:00
Tobias Boogh
9f37296761 Added X86 to platform to allow metal support on iOS Simulator 2020-03-09 16:53:33 +00:00
Бранимир Караџић
aea0759457 Cleanup. 2020-03-04 08:55:03 -08:00
Robin Allen
2f58755f6d Keep debug text colours the same with sRGB backbuffer on/off 2020-03-04 16:35:08 +00:00
Бранимир Караџић
e5b1e7a645 Cleanup. 2020-03-03 19:25:11 -08:00
Robin Allen
64c21b3f32 Create sRGB textures if the texture file specifies sRGB 2020-03-04 03:23:25 +00:00
Nick Waanders
9fffde72cf Update renderer_mtl.mm
TARGET_OS_MACCATALYST is defined, but it is set to 0. Therefore the 'defined' check is not correct.
2020-03-04 03:22:51 +00:00
Бранимир Караџић
29dc60b068 Revert "Fix RGBA4 and RGB5A1 format & internalFormat"
This reverts commit 5b9b75abb2.
2020-03-02 22:09:05 -08:00
Бранимир Караџић
09de2467d5 Revert "Fix RGBA4 and RGB5_A1 type. GL_UNSIGNED_SHORT_4_4_4_4_REV and GL_UNSIGNED_SHORT_1_5_5_5_REV do not exist in GLES, only in desktop OpenGL, but the non _REV verrsion is present in both"
This reverts commit c56d843565.
2020-03-02 22:09:00 -08:00
Jukka Jylänki
c56d843565 Fix RGBA4 and RGB5_A1 type. GL_UNSIGNED_SHORT_4_4_4_4_REV and GL_UNSIGNED_SHORT_1_5_5_5_REV do not exist in GLES, only in desktop OpenGL, but the non _REV verrsion is present in both 2020-03-03 06:04:45 +00:00
Jukka Jylänki
5b9b75abb2 Fix RGBA4 and RGB5A1 format & internalFormat 2020-03-03 04:08:27 +00:00
Jukka Jylänki
e1b3fe6d75 Fix OpenGL ES depth&stencil format querying. 2020-03-02 16:55:39 +00:00
Jukka Jylänki
d539f3425f Avoid querying GL_MAX_ARRAY_TEXTURE_LAYERS and GL_MAX_LABEL_LENGTH if it is known at compile time that the GL context is not new enough to have them. 2020-03-02 16:54:25 +00:00
Minmin Gong
68e27b6655 Fix a couple framebuffer related bugs in D3D renderer
1. A crash in D3D11 renderer when create a texture with flag BGFX_TEXTURE_RT_WRITE_ONLY then override it, bcause m_srv is NULL.
2. In headless mode, RendererContextD3D12::m_swapChain is NULL, clear it resulting a D3D12 debug error
2020-02-27 04:59:35 +00:00
Minmin Gong
ca509c136d Store the command queue into device in D3D12 renderer 2020-02-27 04:58:27 +00:00
Sandy Carter
d7e3f03780 shaderc_glsl: Fix error when mixing SamplerArray and flat keyword
Use of the `flat` keyword will have `glslopt_optimize` run with glsl
version 130. In this mode, it will change calls of `texture2DArray` to
the more general `textureArray`. However, this call results in an error
when reading the compiled shader:

```
bgfx/src/renderer_gl.cpp:5904: BGFX Failed to compile shader.
0: 0(45) : error C1503: undefined variable "textureArray"
```
Defining this call to be `texture` avoids this error.
2020-02-20 16:05:00 +00:00
Minmin Gong
de4e62692d Don't clear RTVs/DSVs after creating them 2020-02-20 05:00:04 +00:00
Minmin Gong
141aae44cd Fix the sRGB support in D3D12 renderer 2020-02-20 04:59:03 +00:00
Minmin Gong
ccdd6676ca Implement the overrideInternal in D3D12 renderer 2020-02-13 07:11:47 +00:00
Attila Kocsis
6f168f0ca2 Metal: Fixed msaa capture 2020-02-11 03:20:53 +00:00
Justin Murray
248c7a88df Modified CreateShaderResourceView() calls to use descriptiors from prior SRVs to handle cases where SRV format cannot be directly deduced from texture format. This happens when using D3D11's typeless texture formats, which can be introduced into a BGFX app using overrideInternal. 2020-02-11 03:19:58 +00:00
Elviss Strazdins
ff6aa27cae Fix MSAA sample count for Metal 2020-02-10 16:17:56 +00:00
Бранимир Караџић
17db2f79e0 Revert "d3d9: Set RGBA4 to unknown"
This reverts commit c776c2eaaa.
2020-02-08 09:29:14 -08:00
Sandy Carter
c776c2eaaa d3d9: Set RGBA4 to unknown
Color ordering of RGBA4 is wrong and there are no A4B4G4A4 format or swizzling
options.
2020-02-08 09:21:12 -08:00
Sandy Carter
dba8b8efef vulkan: Add swizzle definition to formats
Fix color ordering of RGBA4
2020-02-08 09:21:12 -08:00
Sandy Carter
77fdc487ab opengl: Fix color ordering of RGBA4 2020-02-08 09:21:12 -08:00
attilaz
cb4543cc67 Metal: Fixed compressed texture update
I have tested 08-update on iOS and Mac.
2020-02-07 07:23:17 -08:00
Attila Kocsis
8a3786c59c Added desciption labels to 08-update
Added row of cubes whose compressed texture is created with empty content then updated using bgx::updateTexture2D.

Fixed default srcPitch in d3d11 renderer for compressed textures.
2020-02-07 07:23:17 -08:00
Бранимир Караџић
db961eacd2 Revert "Move more Mac UI-thread-only calls to main thread"
This reverts commit 9302fa6fe4.
2020-02-06 19:12:35 -08:00
Vladimir Vukicevic
9302fa6fe4 Move more Mac UI-thread-only calls to main thread 2020-02-05 19:25:24 -08:00
stolk
e7b8606146 Properly size the set, so that no overrun happens. 2020-02-04 18:24:59 -08:00
Бранимир Караџић
3002159da9 Fixed state tracking. 2020-02-04 09:51:21 -08:00
Sandy Carter
5924652151 rebind instance data buffer if index offset changes
Fix case of drawing different offsets of indices of same vertex buffer
using same instance data.

This can happen in the case of conditionally drawing subsets of vertex
buffer stored in different offsets of the same index buffer while re-using
non-transient instance buffers.
2020-02-04 07:38:36 -08:00
Sandy Carter
a38e873f8a rebind instance data buffer if index buffer changes
Fix case of drawing different indices of same vertex buffer using same
instance data.

This can happen in the case of conditionally drawing subsets of vertex
buffer stored in different index buffers while re-using non-transient
instance buffers.
2020-02-01 09:18:51 -08:00
Abraham Stolk
bb07e99907 Fix clear range. 2020-01-30 12:18:28 -08:00
Abraham Stolk
2efeada1c0 This fixes a buffer overflow in an array of write descriptor sets. 2020-01-30 12:18:28 -08:00
Алексей Тулинов
ac9c330100 Fixes #2000. Restored old behavior of handling shaders with "#version 430" in them. 2020-01-29 19:23:31 -08:00
James Fulop
b9ab564c47 cleanup: fix redundancy in error message 2020-01-24 21:27:46 -08:00
JW
97bafaa7b8 Check for GLX vblank extensions more properly.
Previously, the code checked for an extension by checking if the pointer returned from
glXGetProcAddress was NULL or not.

But in truth, you can get a non-NULL pointer even if that extension is not supported.
Now, we parse the glXQueryExtensionsString() results.

GLFW code that does similar checks, for reference: 51bb76c7c3/src/glx_context.c (L208)

fixes #1367
2020-01-24 21:26:56 -08:00
Бранимир Караџић
6a1287e43d Cleanup. 2020-01-23 09:10:05 -08:00
Attila Kocsis
ecc8f791f2 always calling UI API on main thread 2020-01-22 19:55:13 -08:00
Бранимир Караџић
b14f9dc280 Cleanup. 2020-01-21 20:08:48 -08:00
Бранимир Караџић
de9a508409 Cleanup. 2020-01-21 09:16:55 -08:00
Cedric Guillemet
9ee39e8241 PR feedback 2020-01-21 09:11:53 -08:00
Cedric Guillemet
b4cac17b93 default parameters 2020-01-21 09:11:53 -08:00
Cedric Guillemet
4b83e0f5bc discard flags 2020-01-21 09:11:53 -08:00
Бранимир Караџић
82f56b5987 Happy New Year! 2020-01-14 21:37:06 -08:00
Daniele Bartolini
d102296d15 Suppress glxext.h #include-ed by glx.h 2020-01-13 22:00:39 -08:00
Oliver Collyer
7b7dca065b implemented overrideInternal for Metal
The internal pointer is interpreted as being of type id<MTLTexture>.
2020-01-05 08:43:53 -08:00
Бранимир Караџић
aa1aed4ce1 Cleanup. 2019-12-07 07:39:49 -08:00
Giovanni Petrantoni
a965164bc1 Fix mac build, defined was not needed for IOS preprocessor 2019-12-07 07:37:59 -08:00
Giovanni Petrantoni
8c38f21e05 Fixes to texture formats related to mac catalyst builds (metal) 2019-12-07 07:37:59 -08:00
Boris Shirvinskii
6284cde9d6 [iOS] disabling D16 and D24S8 texture formats as it appears they are not supported
tested on the full range of iOS devices from iPhone 5s to iPhone 11
2019-12-04 09:28:01 -08:00
James Fulop
c04b923860 fix preprocessor boolean logic 2019-11-26 18:50:52 -08:00
James Fulop
e6ba3e49af add an assert to catch unknown opcodes earlier 2019-11-26 18:50:33 -08:00
Gary Hsu
9ec0fd243a Fix D3D11 exception with srgb backbuffer 2019-11-15 15:06:11 -08:00
Бранимир Караџић
c7d986f729 Attemp to build D3D11 on Linux. 2019-11-14 21:47:22 -08:00
Paul Gruenbacher
5ca9458605 Update bgfx_compute.sh
fix the indirect define declarations
2019-11-14 18:48:02 -08:00
Бранимир Караџић
7be225bf49 Cleanup. 2019-11-03 16:57:59 -08:00
Бранимир Караџић
6014ca73a0 Cleanup. 2019-11-03 16:51:22 -08:00
Martijn Courteaux
f3ca372d85 Add mtxFromCols3/4 as macros to allow for const global matrices. (#1934) 2019-11-03 16:49:07 -08:00
Sandy
3a78f007ef Fix inconsitency between Backends for RGB5A1 (#1932)
* opengl: Fix color ordering of RGB5A1

* vulkan: Fix color ordering of RGB5A1

* d3d9: Fix color ordering of RGB5A1
2019-11-03 07:10:55 -08:00
Logan McGrath
960390fdae Removing setFrontFacing, using setFrontFacingWinding instead (#1931) 2019-11-03 06:53:48 -08:00
Бранимир Караџић
c3e93e39d1 Fixed issue #1927. 2019-11-01 07:40:50 -07:00
Sandy
c7950c6db3 view stats: Make CPU and GPU timestamps available (#1921)
* view stats: Make GPU begin and end times available

* view stats: Make CPU start and end times available

* view stats: Remove redundant `gpuTimeElapsed`

Value can be derived by `gpuTimeEnd - gpuTimeBegin`

* view stats: Remove redundant `cpuTimeElapsed`

Value can be derived by `cpuTimeEnd - cpuTimeBegin`
2019-10-31 07:30:35 -07:00
Бранимир Караџић
ac81eb1e9d Cleanup. 2019-10-28 18:26:28 -07:00
R. Belmont
02496b75c9 Support disabling vsync on Vulkan, take 2 (#1925)
* Support disabling Vsync on Vulkan [couriersud]

* Add missing lines to fix compiling.
2019-10-28 16:04:36 -07:00
Бранимир Караџић
6097f53378 Revert "Support disabling Vsync on Vulkan [couriersud] (#1924)"
This reverts commit 7ddbefac10.
2019-10-28 08:19:17 -07:00
R. Belmont
7ddbefac10 Support disabling Vsync on Vulkan [couriersud] (#1924) 2019-10-28 08:17:35 -07:00
Бранимир Караџић
510701532b Cleanup. 2019-10-27 08:30:24 -07:00
Бранимир Караџић
8494200645 Updated IDL info / autogenerated comments. 2019-10-25 20:40:02 -07:00
Бранимир Караџић
bd9600e167 Fixed IDL. 2019-10-25 20:13:21 -07:00
Cedric Guillemet
6a883a33fd Front facing (#1904)
* Added BGFX_STATE_FRONT_CCW to defines.h and implemented initial usage only in renderer_d3d11.cpp.

* set front facing for d3d12, gl metal and vulkan

* front facing method Metal

* tabs

* removed tab
idl updated
2019-10-25 20:07:05 -07:00
Бранимир Караџић
6eae48a73c Cleanup. 2019-10-25 14:58:01 -07:00
Sebastian Marketsmueller
85bc4db6f5 fix mip level computation for asmjs and add support for srgb textures in es2/webgl (#1922) 2019-10-25 14:49:12 -07:00
Christophe Dehais
b71cea176b Fix typo in BGFX_CONFIG_MAX_COLOR_PALETTE config override (#1914) 2019-10-18 07:09:07 -07:00
Kitchen
462f803cb6 fix using quad to clear framebuffer, but not correctly set scissor rect bug (#1913)
* fix devide by zero in texture viewer when construct orientation matrix

* fix using quad to clear framebuffer, but not set scissor rect, cause clear failed bug
2019-10-17 15:57:19 -07:00
attilaz
694627885a Added texture functions with bias parameter (#1901)
and fixed a typo
2019-10-04 20:03:51 -07:00
Бранимир Караџић
51ef65d52e Cleanup. 2019-09-30 21:55:10 +02:00
Бранимир Караџић
acda24b16b Removed thread check for getInternalData. 2019-09-13 19:18:51 -07:00
Бранимир Караџић
1e5c99ed76 VK: Added VK device to internal data. 2019-09-12 21:18:18 -07:00
Бранимир Караџић
6533baff7b Cleanup. 2019-09-08 22:10:42 -07:00
Christophe Dehais
c6fc1b069d End debug group before switching context 2019-09-06 18:57:09 -07:00
Cloud Wu
cb89ae4a90 Fix memory leak in iOS 2019-09-06 08:28:43 -07:00
Jonathan Young
3ea69999e6 Fix uninitialized Vulkan sampler hash. 2019-09-05 06:54:53 -07:00
kingscallop
0c90be66d0 Fix gl_FragColor for example 41
Support gl_FragColor with glsl fragment shaders with version 430. (Fixes example 41 using opengl)
2019-09-01 15:07:06 -07:00
kingscallop
fe045d0c98 Fix gpu_shader4 for some drivers
- Add gl_InstanceID (GL_ARB_draw_instanced) support for drivers that don't implement GL_EXT_gpu_shader4 extension (e.g. mesa driver 'i915' on Pentium G3258).
- Don't emit the glsl extension GL_EXT_gpu_shader4 if it isn't supported by the driver (e.g. mesa driver 'i915'). In case the shader uses gl_VertexID, bump up the shader version to 130.
2019-09-01 15:06:35 -07:00
Jonathan Young
d23c203981 Use correct texture mip dimensions in Vulkan renderer. 1x0 was possible for the lowest mip if the texture had a 2:1 or greater aspect ratio. 2019-08-30 07:22:57 -07:00
Бранимир Караџић
7758c6a69c Fixed warnings. 2019-08-28 21:00:39 -07:00
Бранимир Караџић
016f29eea7 Cleanup. 2019-08-24 11:29:45 -07:00
Бранимир Караџић
31b2d37456 VK: Added more supported caps. 2019-08-23 20:48:58 -07:00
Бранимир Караџић
3f6d8a516d Added configuration for GL min version. 2019-08-23 20:31:32 -07:00
Attila Kocsis
63045c63b7 Using runtime check to get displaySyncEnabled availability instead
of using deployment target.

note: '@available' was needed to silent warning. it was recommended fix by xcode.  Every other method I have tried had warning. (using respondsToSelector or  our macOSVersionEqualOrGreater function)
2019-08-23 06:57:18 -07:00
Rinthel
f453c55e7c reflect review 2019-08-18 07:55:27 -07:00
Rinthel
b35efb53a1 refactor swapchain 2019-08-18 07:55:27 -07:00
Бранимир Караџић
ff7497fb3e Fixed build. 2019-08-17 17:58:49 -07:00
Leandro Freire
214a125432 Use underscore on arguments 2019-08-17 12:32:16 -07:00
Leandro Freire
1db46f4fe6 Rename variables and constants 2019-08-17 12:32:16 -07:00
Бранимир Караџић
2554425bae Cleanup. 2019-08-17 09:51:50 -07:00
Rinthel
4342db8f3b VK: descriptor set optimization / refactoring
- add support to indirect compute call
- use dynamic uniform buffer instead of uniform
- create depth view for depth/stencil texture
- fix dynamic uniform buffer bug, apply it to compute shader
- refactor descriptor set allocation / setting
- fix image layout reinit
- get and set device feature / fix independent blending
- cleanup
2019-08-17 09:49:01 -07:00
attilaz
75d5662f0b Metal: added support for binding buffers to vertex/fragment shader stages
I have removed the SamplerInfo workaround, because new shaderc preserves texture stages. Some shaders needed recompile with latest shaderc to get the new behavior.
2019-08-16 06:58:44 -07:00
Бранимир Караџић
d7f2ec9386 Fixed frame buffer image. 2019-08-15 21:54:17 -07:00
Бранимир Караџић
e501923756 Fixed back buffer depth format. 2019-08-15 19:18:18 -07:00
Бранимир Караџић
cebb749752 VK: Cleanup. 2019-08-14 08:05:00 -07:00
Бранимир Караџић
981ea06a97 Cleanup. 2019-08-13 19:22:46 -07:00
Rinthel
2fa32d855d implement compute shader support 2019-08-13 18:44:42 -07:00
Leandro Freire
855623e153 Rename VertexDecl to VertexLayout 2019-08-13 18:42:01 -07:00
Rinthel Kwon
6bd22840e7 VK: fix vertex binding bug 2019-08-12 08:31:23 -07:00
Бранимир Караџић
a6316cbf75 VK: Added EXT_memory_budget support. 2019-08-11 18:23:42 -07:00
Attila Kocsis
6b96532a41 Vulkan: scissor extent fixed.
I have tested with imgui combobox.
2019-08-11 14:19:08 -07:00
Бранимир Караџић
518a5f189f Fixed variable shadowing warning. 2019-08-11 09:08:16 -07:00
rinthel
2b5246f72c implement multiple vertex stream
- additional condition for devices that don't have debug_utils extension
- set FIFO present mode if possible
- fix attachment load and store operation and its image layout during render pass creation
- fix resolve attachment reference setup during render pass creation
- implement multiple vertex stream
2019-08-11 09:05:29 -07:00
Бранимир Караџић
e8d4cd032a VK: Added device info to debug screen. 2019-08-10 10:57:22 -07:00
Бранимир Караџић
289afdc762 Removed todos. 2019-08-10 08:00:06 -07:00
Бранимир Караџић
a0c06b1c7c Cleanup. 2019-08-08 07:58:14 -07:00
Rinthel
d3d5aa04b4 implement blit / debug draw / instancing 2019-08-08 07:55:43 -07:00
Бранимир Караџић
0a59946b2a Cleanup. 2019-08-07 07:50:17 -07:00
Бранимир Караџић
b53ae838d7 Cleanup. 2019-08-07 06:58:04 -07:00
Rinthel
72abfdc8a4 implement framebuffer / mipmap / cached sampler
- fix texture mipmap setting / texture update bug
- implement framebuffer
- fix image memory barrier bug
- vkstruct explicit initialization
- sampler caching
2019-08-07 06:49:52 -07:00
Бранимир Караџић
69a19c762c Cleanup. 2019-08-04 20:05:42 -07:00
Бранимир Караџић
4591f5029e Cleanup. 2019-08-04 19:54:27 -07:00
Бранимир Караџић
b59467c5fc Cleanup. 2019-08-04 19:53:28 -07:00
Rinthel
e604ca021d remove warning / add build option for osx 2019-08-04 19:51:16 -07:00
Rinthel Kwon
6927a9179b vulkan renderer draft implementation 2019-08-04 19:51:16 -07:00
Attila Kocsis
3a7b71ee12 fixing readTexture for discrete gpus 2019-08-01 21:34:47 -07:00
Бранимир Караџић
02fc8a578b Fixed build. 2019-07-28 08:25:08 -07:00
attilaz
22e1faca69 Fixed objc_msgSend in strict checking mode (#1834) 2019-07-26 17:20:56 -07:00
Бранимир Караџић
7845b74b44 Fixed #1831. 2019-07-26 08:20:40 -07:00
DanielGavin
e14c077b32 command sync (#1823)
Added command barrier bit when submitting with an indirect buffer - this fixes the flickering on tess-41
2019-07-21 17:33:50 -07:00
Бранимир Караџић
5209758d61 Cleanup. 2019-07-19 21:36:49 -07:00
Бранимир Караџић
eddc6d38b3 Merge branch 'master' of github.com:bkaradzic/bgfx 2019-07-19 18:43:14 -07:00
Бранимир Караџић
3327e398d1 Fixed #1505. 2019-07-19 18:43:08 -07:00
DanielGavin
a133fb11c6 Update bgfx_shader.sh (#1819)
New matrix function operations.
2019-07-19 18:40:29 -07:00
Бранимир Караџић
2b1a09e40d Fixed issue #1505. 2019-07-18 19:25:37 -07:00
dom607
f1f2d9ff27 Return to the previous surface after swapchain create / destroy. (#1815) 2019-07-12 19:37:51 -07:00
Anastasia Tondera
d8de0f82b9 Fix compile time errors for objective-c using opengles
- Add missing __bridge keyword for void-pointer cast
- Remove context release which is no longer needed according to ARC standard
2019-07-03 14:39:47 +00:00
Vladimir Vukicevic
7e51b38c3f missing assignment to m_canvas on alloc 2019-07-02 01:24:15 +00:00
Vladimir Vukicevic
6b8d0c7ba2 explicitly look up webgl1 or webgl2 functions in html5 2019-07-02 01:24:15 +00:00
Vladimir Vukicevic
3d460e0445 Work around emscripten double-reporting GL error 2019-07-02 01:24:15 +00:00
Vladimir Vukicevic
142470237e html5 glcontext 2019-07-02 01:24:15 +00:00
Nikolaos Patsiouras
d9110344b0 * Fixed integer overflow when allocating space for very large textures. 2019-06-22 22:45:19 +03:00