HLSL: allow mixed user & builtin members in hull shader output structure
Hull shaders have an implicitly arrayed output. This is handled by creating an arrayed form of the provided output type, and writing to the element of it indexed by InvocationID. The implicit indirection into that array was causing some troubles when copying to a split structure. handleAssign was able to handle simple symbol lvalues, but not an lvalue composed of an indirection into an array.
Showing
- SPIRV/GlslangToSpv.cpp 1 addition, 1 deletionSPIRV/GlslangToSpv.cpp
- Test/baseResults/hlsl.hull.1.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.1.tesc.out
- Test/baseResults/hlsl.hull.2.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.2.tesc.out
- Test/baseResults/hlsl.hull.3.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.3.tesc.out
- Test/baseResults/hlsl.hull.4.tesc.out 241 additions, 0 deletionsTest/baseResults/hlsl.hull.4.tesc.out
- Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.ctrlpt-1.tesc.out
- Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.ctrlpt-2.tesc.out
- Test/baseResults/hlsl.hull.void.tesc.out 2 additions, 2 deletionsTest/baseResults/hlsl.hull.void.tesc.out
- Test/hlsl.hull.4.tesc 17 additions, 0 deletionsTest/hlsl.hull.4.tesc
- gtests/Hlsl.FromFile.cpp 1 addition, 0 deletionsgtests/Hlsl.FromFile.cpp
- hlsl/hlslParseHelper.cpp 38 additions, 7 deletionshlsl/hlslParseHelper.cpp
Loading
Please register or sign in to comment