Commit Graph

55 Commits

Author SHA1 Message Date
Sam 49fb72842a
Minor alteration to clarify that BGFX_DISCARD_STATE also discards uniforms (#2464)
Signed-off-by: Samuel Hellawell <sshellawell@gmail.com>
2021-04-09 21:51:03 -07:00
Бранимир Караџић 7daf5e0ba7 Cleanup. 2021-02-07 15:01:02 -08:00
Бранимир Караџић 239ce7a612 Fixed typo. 2021-02-07 07:35:18 -08:00
Branimir Karadžić 5c304dad3b Fixed issue #2330. Added support for 32-bit indices in transient index buffer. 2020-12-15 19:01:25 -08:00
Бранимир Караџић 796acfa98b Added Attachment.numLayers needed for viewport layer array support. 2020-12-12 10:04:14 -08:00
Бранимир Караџић 8dd39d42df Cleanup. 2020-12-02 21:08:25 -08:00
kingscallop 436b7fab9e
Adds UAV support for D3D12, Vulkan and reworked for OpenGL, D3D11 (#2119)
* Adds UAV support for D3D12, Vulkan and reworked support for OpenGL, D3D11

UAV support is now uniform across compute and draw.
To set a UAV you just use bgfx::setImage() and IMAGE2D in the shader, just like in compute.
Due to these changes shaders will have to be recompiled.

The changes include:
	- D3D11 requires patching of the UAV slot number (which is now done by modifying the DXBC instead of using a macro)
	- If the DXBC binary includes a debug chunk, that is also patched to match the new slot number
	- All the other renderers don't need any kind of patching
	- There are some shader annotations to better convert the UAV format used in hlsl to spirv

Possibility of further enhancements:
	- bgfx::setViewFrameBuffer() only supports binding to a framebuffer or, using BGFX_INVALID_HANDLE, to bind the default backbuffer. This doesn't allow for the case where there is no need to bind to either one of them, for example when using a fragment shader only to read and write to an UAV.

* Bump shader version, because they need to be recompiled.
2020-10-04 21:51:41 -07:00
云风 0e1c095c3b
add *_with_layout APIs (#2251) 2020-09-01 20:19:14 -07:00
云风 4d6445896e
Add missing VertexLayoutHandle for C APIs (#2249) 2020-09-01 08:36:52 -07:00
Бранимир Караџић 8065659e90 Added configurable minimum resource command buffer size. 2020-06-03 17:58:54 -07:00
Бранимир Караџић 977188e9de Added weldVertices 32-bit indices support. 2020-05-30 21:38:41 -07:00
Бранимир Караџић 1c063fdc67 Fixed spelling. 2020-05-30 08:22:08 -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
Бранимир Караџић f2e79bbe41 Fixed #2133. 2020-05-03 19:58:15 -07:00
Бранимир Караџић 7792a893af Cleanup. 2020-04-25 09:50:52 -07:00
Бранимир Караџић 00d1225cc6 Updated docs. 2020-04-16 21:27:48 -07:00
Бранимир Караџић 6a1db4c2a2 Updated docs. 2020-04-14 20:13:22 -07:00
Бранимир Караџић 000a3b704c Cleanup. 2020-04-14 08:37:07 -07:00
Бранимир Караџић 06460b8ac2 Fixed discard flags. 2020-04-02 19:04:13 -07:00
Бранимир Караџић 23f9ba6552 Cleanup dicard flags. 2020-04-01 19:23:40 -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
Бранимир Караџић 880f932cb8 Fixed issue #2002. 2020-01-22 19:54:14 -08:00
Бранимир Караџић b14f9dc280 Cleanup. 2020-01-21 20:08:48 -08:00
Бранимир Караџић de9a508409 Cleanup. 2020-01-21 09:16:55 -08:00
Cedric Guillemet 97005355c2 space 2020-01-21 09:11:53 -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
Бранимир Караџић 4eb5a125c6 Updated API version. 2019-10-31 07:31:09 -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
Бранимир Караџић e16cf7bb06 Cleanup. 2019-10-25 20:34:33 -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
Бранимир Караџић b079e67426 Cleanup. 2019-08-17 21:35:20 -07:00
Бранимир Караџић 79dc0a3a0d Cleanup. 2019-08-17 12:38:23 -07:00
Leandro Freire 1db46f4fe6 Rename variables and constants 2019-08-17 12:32:16 -07:00
Leandro Freire 855623e153 Rename VertexDecl to VertexLayout 2019-08-13 18:42:01 -07:00
Бранимир Караџић d5fcbf98cf Updated IDL. 2019-07-14 21:19:46 -07:00
Бранимир Караџић 6b32a32bb2 IDL C#: Added flag comments. 2019-07-14 18:23:57 -07:00
Бранимир Караџић 541a379722 IDL C#: Added enum comments. 2019-07-11 21:31:18 -07:00
Бранимир Караџић ceba5d8b24 Cleanup. 2019-07-06 11:53:04 -07:00
Бранимир Караџић a1cdb91758 IDL now generates defines.h 2019-05-23 20:31:36 -07:00
Бранимир Караџић 3f4c6d35cf Updated IDL scripts. 2019-05-23 08:15:14 -07:00
Бранимир Караџић 10e8a15ba1 Added API for aliasing vertex buffer with different vertex declaration. 2019-04-06 19:26:35 -07:00
Бранимир Караџић 0af6d02fcd Updated docs. 2019-03-20 16:47:41 -07:00
Бранимир Караџић 28e8b8da04 Updated docs. 2019-03-17 09:38:07 -07:00
Бранимир Караџић 9f7c3281e1 Added NVN stub. 2019-03-12 17:01:02 -07:00
Бранимир Караџић 8cc0b10719 Updated IDL. 2019-03-12 10:57:03 -07:00
Бранимир Караџић 9a3e653efe Updated IDL. 2019-03-09 23:21:50 -08:00