WIP: HLSL: hlsl register class iomapping
authorsteve-lunarg <steve_gh@khasekhemwy.net>
Tue, 18 Apr 2017 18:18:01 +0000 (12:18 -0600)
committersteve-lunarg <steve_gh@khasekhemwy.net>
Thu, 20 Apr 2017 18:41:39 +0000 (12:41 -0600)
commitbe2835501915861c316697eb41fbfa077faa6768
tree815fae28c758493ccb1247a224a5395dfffc5f0a
parentba5cc2fafa636beffcf5118f2e2bbb155960cd0f
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.
StandAlone/StandAlone.cpp
Test/baseResults/hlsl.automap.frag.out [new file with mode: 0644]
Test/hlsl.automap.frag [new file with mode: 0644]
Test/runtests
glslang/MachineIndependent/ShaderLang.cpp
glslang/MachineIndependent/iomapper.cpp
glslang/MachineIndependent/localintermediate.h
glslang/Public/ShaderLang.h