HLSL: remove pervertex output blocks

This removes pervertex output blocks, in favor of using only
loose variables.  The pervertex blocks are not required and were
only partly implemented, and were adding some complication.

This change goes with wrap-entry-point.
This commit is contained in:
steve-lunarg
2017-02-03 13:37:54 -07:00
committed by John Kessenich
parent fbb58a4e0b
commit 2c5ab9c8fc
11 changed files with 20 additions and 182 deletions

View File

@@ -107,7 +107,6 @@ Shader version: 450
0:? 'x0_in' (layout(location=0 ) in int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out})
Linked vertex stage:
@@ -221,16 +220,15 @@ Shader version: 450
0:? 'x0_in' (layout(location=0 ) in int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 83
// Id's are bound by 80
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 52 56 59 68 74 82
EntryPoint Vertex 4 "main" 52 56 59 68 74
Name 4 "main"
Name 9 "VS_INPUT"
MemberName 9(VS_INPUT) 0 "x0_in"
@@ -259,16 +257,11 @@ Shader version: 450
MemberName 66(VS_OUTPUT) 1 "x1_out"
Name 68 "@entryPointOutput"
Name 74 "@entryPointOutput_Pos_out"
Name 80 "PerVertex_out"
MemberName 80(PerVertex_out) 0 "@entryPointOutput_Pos_out"
Name 82 "PerVertex_out"
Decorate 52(x0_in) Location 0
Decorate 56(Pos_in) BuiltIn Position
Decorate 59(x1_in) Location 1
Decorate 68(@entryPointOutput) Location 0
Decorate 74(@entryPointOutput_Pos_out) BuiltIn Position
MemberDecorate 80(PerVertex_out) 0 BuiltIn Position
Decorate 80(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -296,9 +289,6 @@ Shader version: 450
71: TypePointer Output 6(int)
73: TypePointer Output 8(fvec4)
74(@entryPointOutput_Pos_out): 73(ptr) Variable Output
80(PerVertex_out): TypeStruct 8(fvec4)
81: TypePointer Output 80(PerVertex_out)
82(PerVertex_out): 81(ptr) Variable Output
4(main): 2 Function None 3
5: Label
50(vsin): 10(ptr) Variable Function