Commit Graph

26 Commits

Author SHA1 Message Date
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
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
Бранимир Караџић
bd9600e167 Fixed IDL. 2019-10-25 20:13:21 -07:00
Бранимир Караџић
ff3a629dd4 Added D bindings. 2019-10-09 07:24:51 -07:00