WIP: HLSL: hlsl register class iomapping
Adds --hlsl-iomap option to perform IO mapping in HLSL register space. --shift-cbuffer-binding is now a synonym for --shift-ubo-binding. The idea way to do this seems to be passing in a dedicated IO resolver, but that would require more intrusive restructuring, so maybe best for its own PR. The TDefaultHlslIoResolver class and the former TDefaultIoResolver class share quite a bit of mechanism in a common base class. TODO: tbuffers are landing in the wrong register class, which needs some investigation. They're either wrong upstream, or the detection in the resolver is wrong.
Showing
- StandAlone/StandAlone.cpp 25 additions, 1 deletionStandAlone/StandAlone.cpp
- Test/baseResults/hlsl.automap.frag.out 27 additions, 0 deletionsTest/baseResults/hlsl.automap.frag.out
- Test/hlsl.automap.frag 57 additions, 0 deletionsTest/hlsl.automap.frag
- Test/runtests 2 additions, 1 deletionTest/runtests
- glslang/MachineIndependent/ShaderLang.cpp 3 additions, 0 deletionsglslang/MachineIndependent/ShaderLang.cpp
- glslang/MachineIndependent/iomapper.cpp 193 additions, 77 deletionsglslang/MachineIndependent/iomapper.cpp
- glslang/MachineIndependent/localintermediate.h 9 additions, 1 deletionglslang/MachineIndependent/localintermediate.h
- glslang/Public/ShaderLang.h 3 additions, 0 deletionsglslang/Public/ShaderLang.h
Loading
Please register or sign in to comment