Fix subgroup support for ray tracing
authorDaniel Koch <dkoch@nvidia.com>
Mon, 27 May 2019 20:46:31 +0000 (16:46 -0400)
committerDaniel Koch <dkoch@nvidia.com>
Fri, 31 May 2019 18:17:36 +0000 (14:17 -0400)
commit593a4e0aa5e68a2c0dd22e2114a09dc5fdec4f6d
tree194225c6c0478eb4df0db1f22e4ae76b6dc0c83f
parentc3e60ad9b6d1b3d38ecbb3ac080b442bec1d3091
Fix subgroup support for ray tracing

Closes #1735

GlslangToSpv.cpp
- minor formatting cleanup

BaseTypes.h
- minor formatting cleanup
- add subgroup builtins to GetBuiltInVariableString
  (was resulting in "unknown built-in variable" messages in test output)

Initialize.cpp
- better naming and re-use of strings for subgroup builtin variable declarations
- define subgroup builtin variables in ray-tracing shaders

intermOut.cpp
- add handling of the EOpSubgroupParition* variables
  (was resulting in "ERROR: Bad aggregation op" messages in test output)

Update test results.
45 files changed:
SPIRV/GlslangToSpv.cpp
Test/baseResults/glsl.450.subgroup.frag.out
Test/baseResults/glsl.450.subgroup.geom.out
Test/baseResults/glsl.450.subgroup.tesc.out
Test/baseResults/glsl.450.subgroup.tese.out
Test/baseResults/glsl.450.subgroup.vert.out
Test/baseResults/glsl.450.subgroupArithmetic.comp.out
Test/baseResults/glsl.450.subgroupBallot.comp.out
Test/baseResults/glsl.450.subgroupBallotNeg.comp.out
Test/baseResults/glsl.450.subgroupBasic.comp.out
Test/baseResults/glsl.450.subgroupClustered.comp.out
Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out
Test/baseResults/glsl.450.subgroupPartitioned.comp.out
Test/baseResults/glsl.450.subgroupQuad.comp.out
Test/baseResults/glsl.450.subgroupShuffle.comp.out
Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out
Test/baseResults/glsl.450.subgroupVote.comp.out
Test/baseResults/glsl.460.subgroup.mesh.out
Test/baseResults/glsl.460.subgroup.rahit.out
Test/baseResults/glsl.460.subgroup.rcall.out
Test/baseResults/glsl.460.subgroup.rchit.out
Test/baseResults/glsl.460.subgroup.rgen.out
Test/baseResults/glsl.460.subgroup.rint.out
Test/baseResults/glsl.460.subgroup.rmiss.out
Test/baseResults/glsl.460.subgroup.task.out
Test/baseResults/glsl.es320.subgroup.frag.out
Test/baseResults/glsl.es320.subgroup.geom.out
Test/baseResults/glsl.es320.subgroup.tesc.out
Test/baseResults/glsl.es320.subgroup.tese.out
Test/baseResults/glsl.es320.subgroup.vert.out
Test/baseResults/glsl.es320.subgroupArithmetic.comp.out
Test/baseResults/glsl.es320.subgroupBallot.comp.out
Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out
Test/baseResults/glsl.es320.subgroupBasic.comp.out
Test/baseResults/glsl.es320.subgroupClustered.comp.out
Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out
Test/baseResults/glsl.es320.subgroupPartitioned.comp.out
Test/baseResults/glsl.es320.subgroupQuad.comp.out
Test/baseResults/glsl.es320.subgroupShuffle.comp.out
Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out
Test/baseResults/glsl.es320.subgroupVote.comp.out
Test/baseResults/hlsl.wavequery.comp.out
glslang/Include/BaseTypes.h
glslang/MachineIndependent/Initialize.cpp
glslang/MachineIndependent/intermOut.cpp