Submitted as two commits for a cleaner commit history.
--
Reorganized legacy patch drawing shader source
Relocated from PatchCommon to PatchLegacy several aspects of the
shader source which can cause problems with typical use cases.
Specifically, things like resource bindings, input assembler and
interstage declarations are best left to client code.
These are not removed, just relocated and remain available for
backward compatibility. Updated the GLSL, HLSL, and MSL source.
--
Added GetPatchDrawingShaderSource()
This is a new method for GLSL, HLSL, and MSL which returns patch
drawing shader source which excludes legacy shader source aspects.
This improves portability and compatibility and may also improve
shader compile times since the resulting shader source strings
are smaller without the legacy shader source aspects.
Tested with Vulkan and DX12 in addition to GL, DX11, and Metal.
Submitted as two commits for a cleaner commit history.
--
Reorganized legacy patch drawing shader source
Relocated from PatchCommon to PatchLegacy several aspects of the shader source which can cause problems with typical use cases. Specifically, things like resource bindings, input assembler and interstage declarations are best left to client code.
These are not removed, just relocated and remain available for backward compatibility. Updated the GLSL, HLSL, and MSL source.
--
Added GetPatchDrawingShaderSource()
This is a new method for GLSL, HLSL, and MSL which returns patch drawing shader source which excludes legacy shader source aspects.
This improves portability and compatibility and may also improve shader compile times since the resulting shader source strings are smaller without the legacy shader source aspects.
Tested with Vulkan and DX12 in addition to GL, DX11, and Metal.
Fixes #938 #1153