436b7fab9e
* 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. |
||
---|---|---|
.. | ||
bgfx-codegen.lua | ||
bgfx.doxygen | ||
bgfx.idl | ||
bgfx.lua | ||
bgfx.natvis | ||
bindings-cs.lua | ||
bindings-d.lua | ||
build.ninja | ||
codegen.lua | ||
doxygen.lua | ||
example-common.lua | ||
genie.lua | ||
geometryc.lua | ||
geometryv.lua | ||
idl.lua | ||
shader-embeded.mk | ||
shader.mk | ||
shaderc.lua | ||
temp.bgfx.h | ||
temp.bgfx.idl.inl | ||
temp.defines.h | ||
texturec.lua | ||
texturev.lua | ||
tools.mk |