Commit Graph

61 Commits

Author SHA1 Message Date
Branimir Karadžić
aa94189553 shaderc: Removed instMul. (#3536) 2026-01-09 06:40:56 +00:00
Martijn Courteaux
53293f07a8 Add support for r/rg/rgba-16 and -16ui in compute shaders. (#3457) 2025-09-04 16:14:58 +00:00
Бранимир Караџић
860bafb23f Happy New Year! 2025-01-13 15:45:40 -08:00
Aaron Franke
40961806bd Format files to remove trailing spaces (#3384) 2024-12-09 22:01:16 -08:00
Бранимир Караџић
932302d8f4 Compute: Rename Write Only suffix _WR to _WO. 2024-04-18 10:07:40 -07:00
Бранимир Караџић
83dfadf673 Happy New Year! 2024-01-14 01:56:36 -08:00
Бранимир Караџић
466c6a4e95 Happy New Year! 2023-01-14 10:05:12 -08:00
Бранимир Караџић
4581f14cd4 Happy New Year! 2022-01-15 11:59:06 -08:00
Hugo Amnov
24be4a38d0 WebGPU: Add texture format to shaderc (bin version 10) + streamline storage Images in shaders (#2482)
* WebGPU: Add texture format (shaderc bin version 10)

* WebGPU: Simplify storage images + Fix format decorations

* Shaderc: Cleanup Texture name assumption in textures
2021-04-20 20:18:49 -07:00
Branimir Karadžić
8e75b38207 Don't include compute on HLSL 3 and below. 2021-02-28 13:41:16 -08:00
Бранимир Караџић
af49c5d264 Happy New Year! 2021-01-14 15:53:49 -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
Бранимир Караџић
82f56b5987 Happy New Year! 2020-01-14 21:37:06 -08:00
Paul Gruenbacher
5ca9458605 Update bgfx_compute.sh
fix the indirect define declarations
2019-11-14 18:48:02 -08:00
Бранимир Караџић
d7f2ec9386 Fixed frame buffer image. 2019-08-15 21:54:17 -07:00
Rinthel
2fa32d855d implement compute shader support 2019-08-13 18:44:42 -07:00
Бранимир Караџић
60d22c4c8c GL: Fixed framebuffer RW. 2019-02-18 14:01:26 -08:00
Branimir Karadžić
1b9dd14683 Fixed framebuffer RW. 2019-02-18 13:40:17 -08:00
Бранимир Караџић
f02169a4b4 Cleanup. 2019-02-17 21:48:20 -08:00
attilaz
b9b58296c7 metal compute shader generation 2019-01-14 09:24:06 +01:00
attilaz
ec321a836e added texture functions (array,offset,gather) and image types 2018-12-13 22:30:13 +01:00
Branimir Karadžić
dc06453e5c HLSL: Fixed memoryBarrierBuffer. 2018-11-05 18:41:25 -08:00
Branimir Karadžić
6dacf1b1e3 GLSL: Fixed atomicFetchCompareExchange. 2018-08-27 17:57:42 -07:00
Branimir Karadžić
90daafba80 Fixed atomicCompSwap. 2018-07-02 16:31:56 -07:00
Branimir Karadžić
bfa5673007 Cleanup. 2018-06-14 14:23:46 -07:00
Branimir Karadžić
1042daa0c9 Added compute fetch and ** atomic operations. 2018-04-09 16:48:59 -07:00
Branimir Karadžić
90aadf835b 37-gpudrivenrendering: Fixed GL shaders. 2018-03-04 16:11:05 -08:00
Branimir Karadžić
f44c8e2b14 Happy New Year! 2018-01-01 11:16:06 -08:00
Branimir Karadžić
06127b0aa7 D3D11: Fixed SRV for compute texture cube map. 2017-09-20 16:26:24 -07:00
Branimir Karadžić
535dcee5f7 Fixed compute overload issue. 2017-06-02 16:53:06 -07:00
Branimir Karadžić
32730a7776 Cleanup. 2017-06-01 19:21:29 -07:00
Branimir Karadžić
18d0eebbce Cleanup. 2017-05-30 18:17:41 -07:00
rams3s
5724020208 Fixed D3D11 error in example 08-update. (#1145) 2017-05-29 10:38:06 -07:00
Branimir Karadžić
e8c630c001 Cleanup. 2017-05-16 17:29:59 -07:00
Branimir Karadžić
748a9af62a compute: Fixed imageSize. 2017-04-28 16:18:59 -07:00
Branimir Karadžić
fec8e3a2bd Cleanup. 2017-04-17 14:56:44 -07:00
Branimir Karadžić
5cc3d866d7 GLSL: Fixed image3D compute intrisics. 2017-04-10 12:50:54 -07:00
Branimir Karadžić
dd244f8de4 Cleanup. 2017-03-10 19:03:41 -08:00
Branimir Karadžić
3b83f53ab1 Happy New Year! 2017-01-01 00:18:41 -08:00
benoitjacquier
b19ca48387 Cubemap as texture array OpenGL support + example 2016-10-21 17:34:38 +02:00
benoitjacquier
3efd4a796d Cubemap as Texture Array
Cubemap's UAV are texture arrays
2016-10-19 18:17:44 +02:00
Branimir Karadžić
a076c1a03b Exposed GL_ARB_gpu_shader5 and GL_ARB_shading_language_packing to shaderc. 2016-03-18 11:32:04 -07:00
Branimir Karadžić
4bb2b623d3 Happy New Year! 2016-01-01 00:11:04 -08:00
Branimir Karadžić
51c10dd59d Cleanup. 2015-08-19 13:34:07 -07:00
Branimir Karadžić
38820fd732 Cleanup. 2015-08-12 12:24:30 -07:00
Andrew Mac
933d59591b Add support for 3D textures in compute shaders. 2015-08-08 09:49:12 -03:00
Branimir Karadžić
3b66dfa5e8 Added indirect compute dispatch. 2015-05-01 14:54:23 -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ć
ccb0f73308 Updated compute shader image formats. 2015-04-21 11:49:28 -07: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