HLSL: Flatten more I/O: non-arrayed user-only structures.
The goal is to flatten all I/O, but there are multiple categories and steps to complete, likely including a final unification of splitting and flattening.
This commit is contained in:
parent
cca42a8ea6
commit
b6be80f44e
@ -42,14 +42,34 @@ output primitive = line_strip
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp float)
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:22 myfloat: direct index for structure ( temp float)
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp int)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
0:22 something: direct index for structure ( temp int)
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 EmitVertex ( temp void)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp float)
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:23 myfloat: direct index for structure ( temp float)
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 move second child to first child ( temp int)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
0:23 something: direct index for structure ( temp int)
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 EmitVertex ( temp void)
|
||||
0:24 EndPrimitive ( temp void)
|
||||
0:16 Function Definition: main( ( temp void)
|
||||
@ -68,7 +88,8 @@ output primitive = line_strip
|
||||
0:? Linker Objects
|
||||
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
||||
0:? 'test' (layout( location=1) in 3-element array of uint)
|
||||
0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
@ -117,14 +138,34 @@ output primitive = line_strip
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp float)
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:22 myfloat: direct index for structure ( temp float)
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp int)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
0:22 something: direct index for structure ( temp int)
|
||||
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 EmitVertex ( temp void)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp float)
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:23 myfloat: direct index for structure ( temp float)
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 move second child to first child ( temp int)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
0:23 something: direct index for structure ( temp int)
|
||||
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 EmitVertex ( temp void)
|
||||
0:24 EndPrimitive ( temp void)
|
||||
0:16 Function Definition: main( ( temp void)
|
||||
@ -143,16 +184,17 @@ output primitive = line_strip
|
||||
0:? Linker Objects
|
||||
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
||||
0:? 'test' (layout( location=1) in 3-element array of uint)
|
||||
0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
|
||||
0:? 'myfloat' (layout( location=0) out float)
|
||||
0:? 'something' (layout( location=1) out int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 60
|
||||
// Id's are bound by 68
|
||||
|
||||
Capability Geometry
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4 "main" 42 47 50
|
||||
EntryPoint Geometry 4 "main" 42 46 55 58
|
||||
ExecutionMode 4 Triangles
|
||||
ExecutionMode 4 Invocations 1
|
||||
ExecutionMode 4 OutputLineStrip
|
||||
@ -167,18 +209,20 @@ output primitive = line_strip
|
||||
Name 16 "test"
|
||||
Name 17 "OutputStream"
|
||||
Name 20 "Vert"
|
||||
Name 42 "OutputStream"
|
||||
Name 45 "VertexID"
|
||||
Name 47 "VertexID"
|
||||
Name 49 "test"
|
||||
Name 50 "test"
|
||||
Name 52 "OutputStream"
|
||||
Name 53 "param"
|
||||
Name 55 "param"
|
||||
Name 57 "param"
|
||||
Decorate 42(OutputStream) Location 0
|
||||
Decorate 47(VertexID) Location 0
|
||||
Decorate 50(test) Location 1
|
||||
Name 42 "myfloat"
|
||||
Name 46 "something"
|
||||
Name 53 "VertexID"
|
||||
Name 55 "VertexID"
|
||||
Name 57 "test"
|
||||
Name 58 "test"
|
||||
Name 60 "OutputStream"
|
||||
Name 61 "param"
|
||||
Name 63 "param"
|
||||
Name 65 "param"
|
||||
Decorate 42(myfloat) Location 0
|
||||
Decorate 46(something) Location 1
|
||||
Decorate 55(VertexID) Location 0
|
||||
Decorate 58(test) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@ -196,30 +240,32 @@ output primitive = line_strip
|
||||
29: 11(int) Constant 2
|
||||
34: TypePointer Function 10(float)
|
||||
39: TypePointer Function 11(int)
|
||||
41: TypePointer Output 12(PSInput)
|
||||
42(OutputStream): 41(ptr) Variable Output
|
||||
46: TypePointer Input 8
|
||||
47(VertexID): 46(ptr) Variable Input
|
||||
50(test): 46(ptr) Variable Input
|
||||
41: TypePointer Output 10(float)
|
||||
42(myfloat): 41(ptr) Variable Output
|
||||
45: TypePointer Output 11(int)
|
||||
46(something): 45(ptr) Variable Output
|
||||
54: TypePointer Input 8
|
||||
55(VertexID): 54(ptr) Variable Input
|
||||
58(test): 54(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
45(VertexID): 9(ptr) Variable Function
|
||||
49(test): 9(ptr) Variable Function
|
||||
52(OutputStream): 13(ptr) Variable Function
|
||||
53(param): 9(ptr) Variable Function
|
||||
55(param): 9(ptr) Variable Function
|
||||
57(param): 13(ptr) Variable Function
|
||||
48: 8 Load 47(VertexID)
|
||||
Store 45(VertexID) 48
|
||||
51: 8 Load 50(test)
|
||||
Store 49(test) 51
|
||||
54: 8 Load 45(VertexID)
|
||||
Store 53(param) 54
|
||||
56: 8 Load 49(test)
|
||||
Store 55(param) 56
|
||||
58: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 53(param) 55(param) 57(param)
|
||||
59: 12(PSInput) Load 57(param)
|
||||
Store 52(OutputStream) 59
|
||||
53(VertexID): 9(ptr) Variable Function
|
||||
57(test): 9(ptr) Variable Function
|
||||
60(OutputStream): 13(ptr) Variable Function
|
||||
61(param): 9(ptr) Variable Function
|
||||
63(param): 9(ptr) Variable Function
|
||||
65(param): 13(ptr) Variable Function
|
||||
56: 8 Load 55(VertexID)
|
||||
Store 53(VertexID) 56
|
||||
59: 8 Load 58(test)
|
||||
Store 57(test) 59
|
||||
62: 8 Load 53(VertexID)
|
||||
Store 61(param) 62
|
||||
64: 8 Load 57(test)
|
||||
Store 63(param) 64
|
||||
66: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 61(param) 63(param) 65(param)
|
||||
67: 12(PSInput) Load 65(param)
|
||||
Store 60(OutputStream) 67
|
||||
Return
|
||||
FunctionEnd
|
||||
18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14
|
||||
@ -244,11 +290,19 @@ output primitive = line_strip
|
||||
38: 11(int) Bitcast 37
|
||||
40: 39(ptr) AccessChain 20(Vert) 25
|
||||
Store 40 38
|
||||
43: 12(PSInput) Load 20(Vert)
|
||||
Store 42(OutputStream) 43
|
||||
43: 34(ptr) AccessChain 20(Vert) 21
|
||||
44: 10(float) Load 43
|
||||
Store 42(myfloat) 44
|
||||
47: 39(ptr) AccessChain 20(Vert) 25
|
||||
48: 11(int) Load 47
|
||||
Store 46(something) 48
|
||||
EmitVertex
|
||||
44: 12(PSInput) Load 20(Vert)
|
||||
Store 42(OutputStream) 44
|
||||
49: 34(ptr) AccessChain 20(Vert) 21
|
||||
50: 10(float) Load 49
|
||||
Store 42(myfloat) 50
|
||||
51: 39(ptr) AccessChain 20(Vert) 25
|
||||
52: 11(int) Load 51
|
||||
Store 46(something) 52
|
||||
EmitVertex
|
||||
EndPrimitive
|
||||
Return
|
||||
|
@ -105,14 +105,28 @@ triangle order = none
|
||||
0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:22 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:22 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
||||
@ -228,14 +242,28 @@ triangle order = none
|
||||
0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:22 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:22 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
||||
@ -243,12 +271,12 @@ triangle order = none
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 88
|
||||
// Id's are bound by 95
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationEvaluation 4 "main" 51 55 61 76 81
|
||||
EntryPoint TessellationEvaluation 4 "main" 51 55 61 76 88 92
|
||||
ExecutionMode 4 Triangles
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -273,9 +301,11 @@ triangle order = none
|
||||
Name 57 "pcf_data"
|
||||
Name 61 "pcf_data_flTessFactor"
|
||||
Name 76 "pcf_data_flInsideTessFactor"
|
||||
Name 81 "@entryPointOutput"
|
||||
Name 83 "param"
|
||||
Name 85 "param"
|
||||
Name 80 "flattenTemp"
|
||||
Name 82 "param"
|
||||
Name 84 "param"
|
||||
Name 88 "pos"
|
||||
Name 92 "norm"
|
||||
Decorate 51(i) Location 0
|
||||
Decorate 55(tesscoord) Patch
|
||||
Decorate 55(tesscoord) BuiltIn TessCoord
|
||||
@ -283,7 +313,8 @@ triangle order = none
|
||||
Decorate 61(pcf_data_flTessFactor) BuiltIn TessLevelOuter
|
||||
Decorate 76(pcf_data_flInsideTessFactor) Patch
|
||||
Decorate 76(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner
|
||||
Decorate 81(@entryPointOutput) Location 0
|
||||
Decorate 88(pos) Location 0
|
||||
Decorate 92(norm) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -322,15 +353,18 @@ triangle order = none
|
||||
74: TypeArray 6(float) 73
|
||||
75: TypePointer Input 74
|
||||
76(pcf_data_flInsideTessFactor): 75(ptr) Variable Input
|
||||
80: TypePointer Output 17(gs_in_t)
|
||||
81(@entryPointOutput): 80(ptr) Variable Output
|
||||
87: TypePointer Output 7(fvec4)
|
||||
88(pos): 87(ptr) Variable Output
|
||||
91: TypePointer Output 8(fvec3)
|
||||
92(norm): 91(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
49(i): 48(ptr) Variable Function
|
||||
53(tesscoord): 13(ptr) Variable Function
|
||||
57(pcf_data): 16(ptr) Variable Function
|
||||
83(param): 13(ptr) Variable Function
|
||||
85(param): 16(ptr) Variable Function
|
||||
80(flattenTemp): 24(ptr) Variable Function
|
||||
82(param): 13(ptr) Variable Function
|
||||
84(param): 16(ptr) Variable Function
|
||||
52: 12 Load 51(i)
|
||||
Store 49(i) 52
|
||||
56: 8(fvec3) Load 55(tesscoord)
|
||||
@ -351,13 +385,19 @@ triangle order = none
|
||||
78: 6(float) Load 77
|
||||
79: 30(ptr) AccessChain 57(pcf_data) 37
|
||||
Store 79 78
|
||||
82: 12 Load 49(i)
|
||||
84: 8(fvec3) Load 53(tesscoord)
|
||||
Store 83(param) 84
|
||||
86:15(pcf_in_t) Load 57(pcf_data)
|
||||
Store 85(param) 86
|
||||
87: 17(gs_in_t) FunctionCall 22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;) 82 83(param) 85(param)
|
||||
Store 81(@entryPointOutput) 87
|
||||
81: 12 Load 49(i)
|
||||
83: 8(fvec3) Load 53(tesscoord)
|
||||
Store 82(param) 83
|
||||
85:15(pcf_in_t) Load 57(pcf_data)
|
||||
Store 84(param) 85
|
||||
86: 17(gs_in_t) FunctionCall 22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;) 81 82(param) 84(param)
|
||||
Store 80(flattenTemp) 86
|
||||
89: 35(ptr) AccessChain 80(flattenTemp) 27
|
||||
90: 7(fvec4) Load 89
|
||||
Store 88(pos) 90
|
||||
93: 13(ptr) AccessChain 80(flattenTemp) 37
|
||||
94: 8(fvec3) Load 93
|
||||
Store 92(norm) 94
|
||||
Return
|
||||
FunctionEnd
|
||||
22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;): 17(gs_in_t) Function None 18
|
||||
|
@ -114,14 +114,28 @@ triangle order = none
|
||||
0:25 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:25 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:25 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
|
||||
@ -247,14 +261,28 @@ triangle order = none
|
||||
0:25 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
|
||||
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 3-component vector of float)
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:25 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:25 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:25 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
|
||||
@ -263,12 +291,12 @@ triangle order = none
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 94
|
||||
// Id's are bound by 101
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationEvaluation 4 "main" 52 67 73 80 84 87
|
||||
EntryPoint TessellationEvaluation 4 "main" 52 67 73 80 84 94 98
|
||||
ExecutionMode 4 Triangles
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -297,9 +325,11 @@ triangle order = none
|
||||
Name 80 "i"
|
||||
Name 82 "tesscoord"
|
||||
Name 84 "tesscoord"
|
||||
Name 87 "@entryPointOutput"
|
||||
Name 89 "param"
|
||||
Name 91 "param"
|
||||
Name 86 "flattenTemp"
|
||||
Name 88 "param"
|
||||
Name 90 "param"
|
||||
Name 94 "pos"
|
||||
Name 98 "norm"
|
||||
Decorate 52(pcf_data_flTessFactor) Patch
|
||||
Decorate 52(pcf_data_flTessFactor) BuiltIn TessLevelOuter
|
||||
Decorate 67(pcf_data_flInsideTessFactor) Patch
|
||||
@ -310,7 +340,8 @@ triangle order = none
|
||||
Decorate 80(i) Location 0
|
||||
Decorate 84(tesscoord) Patch
|
||||
Decorate 84(tesscoord) BuiltIn TessCoord
|
||||
Decorate 87(@entryPointOutput) Location 0
|
||||
Decorate 94(pos) Location 0
|
||||
Decorate 98(norm) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -352,15 +383,18 @@ triangle order = none
|
||||
80(i): 79(ptr) Variable Input
|
||||
83: TypePointer Input 13(fvec3)
|
||||
84(tesscoord): 83(ptr) Variable Input
|
||||
86: TypePointer Output 17(gs_in_t)
|
||||
87(@entryPointOutput): 86(ptr) Variable Output
|
||||
93: TypePointer Output 12(fvec4)
|
||||
94(pos): 93(ptr) Variable Output
|
||||
97: TypePointer Output 13(fvec3)
|
||||
98(norm): 97(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
48(pcf_data): 11(ptr) Variable Function
|
||||
78(i): 77(ptr) Variable Function
|
||||
82(tesscoord): 16(ptr) Variable Function
|
||||
89(param): 11(ptr) Variable Function
|
||||
91(param): 16(ptr) Variable Function
|
||||
86(flattenTemp): 24(ptr) Variable Function
|
||||
88(param): 11(ptr) Variable Function
|
||||
90(param): 16(ptr) Variable Function
|
||||
54: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 27
|
||||
55: 6(float) Load 54
|
||||
56: 30(ptr) AccessChain 48(pcf_data) 27 27
|
||||
@ -385,13 +419,19 @@ triangle order = none
|
||||
Store 78(i) 81
|
||||
85: 13(fvec3) Load 84(tesscoord)
|
||||
Store 82(tesscoord) 85
|
||||
88: 15 Load 78(i)
|
||||
90:10(pcf_in_t) Load 48(pcf_data)
|
||||
Store 89(param) 90
|
||||
92: 13(fvec3) Load 82(tesscoord)
|
||||
Store 91(param) 92
|
||||
93: 17(gs_in_t) FunctionCall 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;) 89(param) 88 91(param)
|
||||
Store 87(@entryPointOutput) 93
|
||||
87: 15 Load 78(i)
|
||||
89:10(pcf_in_t) Load 48(pcf_data)
|
||||
Store 88(param) 89
|
||||
91: 13(fvec3) Load 82(tesscoord)
|
||||
Store 90(param) 91
|
||||
92: 17(gs_in_t) FunctionCall 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;) 88(param) 87 90(param)
|
||||
Store 86(flattenTemp) 92
|
||||
95: 35(ptr) AccessChain 86(flattenTemp) 27
|
||||
96: 12(fvec4) Load 95
|
||||
Store 94(pos) 96
|
||||
99: 16(ptr) AccessChain 86(flattenTemp) 37
|
||||
100: 13(fvec3) Load 99
|
||||
Store 98(norm) 100
|
||||
Return
|
||||
FunctionEnd
|
||||
22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;): 17(gs_in_t) Function None 18
|
||||
|
@ -102,14 +102,28 @@ triangle order = none
|
||||
0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 2-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 2-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
||||
@ -222,14 +236,28 @@ triangle order = none
|
||||
0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 2-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( temp 2-component vector of float)
|
||||
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp 3-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'pos' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'norm' (layout( location=1) out 3-component vector of float)
|
||||
0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
||||
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
||||
0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
||||
@ -237,12 +265,12 @@ triangle order = none
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 93
|
||||
// Id's are bound by 100
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationEvaluation 4 "main" 54 58 67 81 86
|
||||
EntryPoint TessellationEvaluation 4 "main" 54 58 67 81 93 97
|
||||
ExecutionMode 4 Isolines
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -267,9 +295,11 @@ triangle order = none
|
||||
Name 63 "pcf_data"
|
||||
Name 67 "pcf_data_flTessFactor"
|
||||
Name 81 "pcf_data_flInsideTessFactor"
|
||||
Name 86 "@entryPointOutput"
|
||||
Name 88 "param"
|
||||
Name 90 "param"
|
||||
Name 85 "flattenTemp"
|
||||
Name 87 "param"
|
||||
Name 89 "param"
|
||||
Name 93 "pos"
|
||||
Name 97 "norm"
|
||||
Decorate 54(i) Location 0
|
||||
Decorate 58(tesscoord) Patch
|
||||
Decorate 58(tesscoord) BuiltIn TessCoord
|
||||
@ -277,7 +307,8 @@ triangle order = none
|
||||
Decorate 67(pcf_data_flTessFactor) BuiltIn TessLevelOuter
|
||||
Decorate 81(pcf_data_flInsideTessFactor) Patch
|
||||
Decorate 81(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner
|
||||
Decorate 86(@entryPointOutput) Location 0
|
||||
Decorate 93(pos) Location 0
|
||||
Decorate 97(norm) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -318,15 +349,18 @@ triangle order = none
|
||||
79: TypeArray 6(float) 11
|
||||
80: TypePointer Input 79
|
||||
81(pcf_data_flInsideTessFactor): 80(ptr) Variable Input
|
||||
85: TypePointer Output 19(gs_in_t)
|
||||
86(@entryPointOutput): 85(ptr) Variable Output
|
||||
92: TypePointer Output 7(fvec4)
|
||||
93(pos): 92(ptr) Variable Output
|
||||
96: TypePointer Output 8(fvec3)
|
||||
97(norm): 96(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
52(i): 51(ptr) Variable Function
|
||||
56(tesscoord): 14(ptr) Variable Function
|
||||
63(pcf_data): 18(ptr) Variable Function
|
||||
88(param): 14(ptr) Variable Function
|
||||
90(param): 18(ptr) Variable Function
|
||||
85(flattenTemp): 26(ptr) Variable Function
|
||||
87(param): 14(ptr) Variable Function
|
||||
89(param): 18(ptr) Variable Function
|
||||
55: 12 Load 54(i)
|
||||
Store 52(i) 55
|
||||
59: 8(fvec3) Load 58(tesscoord)
|
||||
@ -350,13 +384,19 @@ triangle order = none
|
||||
83: 6(float) Load 82
|
||||
84: 32(ptr) AccessChain 63(pcf_data) 39
|
||||
Store 84 83
|
||||
87: 12 Load 52(i)
|
||||
89: 13(fvec2) Load 56(tesscoord)
|
||||
Store 88(param) 89
|
||||
91:17(pcf_in_t) Load 63(pcf_data)
|
||||
Store 90(param) 91
|
||||
92: 19(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;) 87 88(param) 90(param)
|
||||
Store 86(@entryPointOutput) 92
|
||||
86: 12 Load 52(i)
|
||||
88: 13(fvec2) Load 56(tesscoord)
|
||||
Store 87(param) 88
|
||||
90:17(pcf_in_t) Load 63(pcf_data)
|
||||
Store 89(param) 90
|
||||
91: 19(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;) 86 87(param) 89(param)
|
||||
Store 85(flattenTemp) 91
|
||||
94: 37(ptr) AccessChain 85(flattenTemp) 29
|
||||
95: 7(fvec4) Load 94
|
||||
Store 93(pos) 95
|
||||
98: 46(ptr) AccessChain 85(flattenTemp) 39
|
||||
99: 8(fvec3) Load 98
|
||||
Store 97(norm) 99
|
||||
Return
|
||||
FunctionEnd
|
||||
24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;): 19(gs_in_t) Function None 20
|
||||
|
@ -11,9 +11,10 @@ gl_FragCoord origin is upper left
|
||||
0:10 Function Definition: main( ( temp void)
|
||||
0:10 Function Parameters:
|
||||
0:? Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
@ -37,9 +38,10 @@ gl_FragCoord origin is upper left
|
||||
0:10 Function Definition: main( ( temp void)
|
||||
0:10 Function Parameters:
|
||||
0:? Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
|
@ -14,10 +14,11 @@ Shader version: 500
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? Linker Objects
|
||||
|
||||
|
||||
@ -39,10 +40,11 @@ Shader version: 500
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? 'i' ( in structure{})
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp structure{})
|
||||
0:? '@entryPointOutput' ( out structure{})
|
||||
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
|
||||
0:? 'i' ( temp structure{})
|
||||
0:? Linker Objects
|
||||
|
||||
// Module Version 10000
|
||||
|
@ -12,9 +12,31 @@ using depth_greater
|
||||
0:15 Function Definition: main( ( temp void)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 f: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? 'f' (layout( location=0) in float)
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 g: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? 'g' (layout( location=1) centroid in float)
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 d: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 2 (const int)
|
||||
0:? 'd' (layout( location=2) in float)
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 normal: direct index for structure ( temp 4-component vector of float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 3 (const int)
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
@ -51,7 +73,10 @@ using depth_greater
|
||||
0:? 'g' (layout( location=1) out float)
|
||||
0:? 'd' ( out float FragDepth)
|
||||
0:? 'normal' (layout( location=2) out 4-component vector of float)
|
||||
0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 'f' (layout( location=0) in float)
|
||||
0:? 'g' (layout( location=1) centroid in float)
|
||||
0:? 'd' (layout( location=2) in float)
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -70,9 +95,31 @@ using depth_greater
|
||||
0:15 Function Definition: main( ( temp void)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 f: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? 'f' (layout( location=0) in float)
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 g: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? 'g' (layout( location=1) centroid in float)
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 d: direct index for structure ( temp float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 2 (const int)
|
||||
0:? 'd' (layout( location=2) in float)
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 normal: direct index for structure ( temp 4-component vector of float)
|
||||
0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 Constant:
|
||||
0:15 3 (const int)
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal})
|
||||
@ -109,16 +156,19 @@ using depth_greater
|
||||
0:? 'g' (layout( location=1) out float)
|
||||
0:? 'd' ( out float FragDepth)
|
||||
0:? 'normal' (layout( location=2) out 4-component vector of float)
|
||||
0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal})
|
||||
0:? 'f' (layout( location=0) in float)
|
||||
0:? 'g' (layout( location=1) centroid in float)
|
||||
0:? 'd' (layout( location=2) in float)
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 64
|
||||
// Id's are bound by 66
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 21 43 46 49 53
|
||||
EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthGreater
|
||||
Source HLSL 500
|
||||
@ -132,54 +182,55 @@ using depth_greater
|
||||
Name 11 "t"
|
||||
Name 14 "local"
|
||||
Name 18 "t"
|
||||
Name 19 "T"
|
||||
MemberName 19(T) 0 "f"
|
||||
MemberName 19(T) 1 "g"
|
||||
MemberName 19(T) 2 "d"
|
||||
MemberName 19(T) 3 "normal"
|
||||
Name 21 "t"
|
||||
Name 38 "flattenTemp"
|
||||
Name 39 "param"
|
||||
Name 43 "f"
|
||||
Name 46 "g"
|
||||
Name 49 "d"
|
||||
Name 53 "normal"
|
||||
Name 56 "T"
|
||||
MemberName 56(T) 0 "f"
|
||||
MemberName 56(T) 1 "g"
|
||||
MemberName 56(T) 2 "d"
|
||||
MemberName 56(T) 3 "normal"
|
||||
Name 57 "$Global"
|
||||
MemberName 57($Global) 0 "s"
|
||||
Name 59 ""
|
||||
Name 60 "T"
|
||||
MemberName 60(T) 0 "f"
|
||||
MemberName 60(T) 1 "g"
|
||||
MemberName 60(T) 2 "d"
|
||||
MemberName 60(T) 3 "normal"
|
||||
Name 61 "buff"
|
||||
MemberName 61(buff) 0 "t"
|
||||
Name 63 ""
|
||||
MemberDecorate 19(T) 1 Centroid
|
||||
Decorate 21(t) Location 0
|
||||
Decorate 43(f) Location 0
|
||||
Decorate 46(g) Location 1
|
||||
Decorate 49(d) BuiltIn FragDepth
|
||||
Decorate 53(normal) Location 2
|
||||
MemberDecorate 56(T) 0 Offset 68
|
||||
MemberDecorate 56(T) 1 Offset 72
|
||||
MemberDecorate 56(T) 2 Offset 76
|
||||
MemberDecorate 56(T) 3 Offset 80
|
||||
MemberDecorate 57($Global) 0 Offset 0
|
||||
Decorate 57($Global) Block
|
||||
Decorate 59 DescriptorSet 0
|
||||
MemberDecorate 60(T) 0 Offset 0
|
||||
MemberDecorate 60(T) 1 Offset 4
|
||||
MemberDecorate 60(T) 2 Offset 8
|
||||
MemberDecorate 60(T) 3 Offset 16
|
||||
MemberDecorate 61(buff) 0 Offset 96
|
||||
Decorate 61(buff) Block
|
||||
Decorate 63 DescriptorSet 0
|
||||
Name 22 "f"
|
||||
Name 27 "g"
|
||||
Name 31 "d"
|
||||
Name 36 "normal"
|
||||
Name 40 "flattenTemp"
|
||||
Name 41 "param"
|
||||
Name 45 "f"
|
||||
Name 48 "g"
|
||||
Name 51 "d"
|
||||
Name 55 "normal"
|
||||
Name 58 "T"
|
||||
MemberName 58(T) 0 "f"
|
||||
MemberName 58(T) 1 "g"
|
||||
MemberName 58(T) 2 "d"
|
||||
MemberName 58(T) 3 "normal"
|
||||
Name 59 "$Global"
|
||||
MemberName 59($Global) 0 "s"
|
||||
Name 61 ""
|
||||
Name 62 "T"
|
||||
MemberName 62(T) 0 "f"
|
||||
MemberName 62(T) 1 "g"
|
||||
MemberName 62(T) 2 "d"
|
||||
MemberName 62(T) 3 "normal"
|
||||
Name 63 "buff"
|
||||
MemberName 63(buff) 0 "t"
|
||||
Name 65 ""
|
||||
Decorate 22(f) Location 0
|
||||
Decorate 27(g) Centroid
|
||||
Decorate 27(g) Location 1
|
||||
Decorate 31(d) Location 2
|
||||
Decorate 36(normal) Location 3
|
||||
Decorate 45(f) Location 0
|
||||
Decorate 48(g) Location 1
|
||||
Decorate 51(d) BuiltIn FragDepth
|
||||
Decorate 55(normal) Location 2
|
||||
MemberDecorate 58(T) 0 Offset 68
|
||||
MemberDecorate 58(T) 1 Offset 72
|
||||
MemberDecorate 58(T) 2 Offset 76
|
||||
MemberDecorate 58(T) 3 Offset 80
|
||||
MemberDecorate 59($Global) 0 Offset 0
|
||||
Decorate 59($Global) Block
|
||||
Decorate 61 DescriptorSet 0
|
||||
MemberDecorate 62(T) 0 Offset 0
|
||||
MemberDecorate 62(T) 1 Offset 4
|
||||
MemberDecorate 62(T) 2 Offset 8
|
||||
MemberDecorate 62(T) 3 Offset 16
|
||||
MemberDecorate 63(buff) 0 Offset 96
|
||||
Decorate 63(buff) Block
|
||||
Decorate 65 DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -187,64 +238,66 @@ using depth_greater
|
||||
8(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
9: TypePointer Function 8(T)
|
||||
10: TypeFunction 8(T) 9(ptr)
|
||||
19(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
20: TypePointer Input 19(T)
|
||||
21(t): 20(ptr) Variable Input
|
||||
24: TypeInt 32 1
|
||||
25: 24(int) Constant 0
|
||||
26: TypePointer Function 6(float)
|
||||
29: 24(int) Constant 1
|
||||
32: 24(int) Constant 2
|
||||
35: 24(int) Constant 3
|
||||
36: TypePointer Function 7(fvec4)
|
||||
42: TypePointer Output 6(float)
|
||||
43(f): 42(ptr) Variable Output
|
||||
46(g): 42(ptr) Variable Output
|
||||
49(d): 42(ptr) Variable Output
|
||||
52: TypePointer Output 7(fvec4)
|
||||
53(normal): 52(ptr) Variable Output
|
||||
56(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
57($Global): TypeStruct 56(T)
|
||||
58: TypePointer Uniform 57($Global)
|
||||
59: 58(ptr) Variable Uniform
|
||||
60(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
61(buff): TypeStruct 60(T)
|
||||
62: TypePointer Uniform 61(buff)
|
||||
63: 62(ptr) Variable Uniform
|
||||
19: TypeInt 32 1
|
||||
20: 19(int) Constant 0
|
||||
21: TypePointer Input 6(float)
|
||||
22(f): 21(ptr) Variable Input
|
||||
24: TypePointer Function 6(float)
|
||||
26: 19(int) Constant 1
|
||||
27(g): 21(ptr) Variable Input
|
||||
30: 19(int) Constant 2
|
||||
31(d): 21(ptr) Variable Input
|
||||
34: 19(int) Constant 3
|
||||
35: TypePointer Input 7(fvec4)
|
||||
36(normal): 35(ptr) Variable Input
|
||||
38: TypePointer Function 7(fvec4)
|
||||
44: TypePointer Output 6(float)
|
||||
45(f): 44(ptr) Variable Output
|
||||
48(g): 44(ptr) Variable Output
|
||||
51(d): 44(ptr) Variable Output
|
||||
54: TypePointer Output 7(fvec4)
|
||||
55(normal): 54(ptr) Variable Output
|
||||
58(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
59($Global): TypeStruct 58(T)
|
||||
60: TypePointer Uniform 59($Global)
|
||||
61: 60(ptr) Variable Uniform
|
||||
62(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
|
||||
63(buff): TypeStruct 62(T)
|
||||
64: TypePointer Uniform 63(buff)
|
||||
65: 64(ptr) Variable Uniform
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18(t): 9(ptr) Variable Function
|
||||
38(flattenTemp): 9(ptr) Variable Function
|
||||
39(param): 9(ptr) Variable Function
|
||||
22: 19(T) Load 21(t)
|
||||
23: 6(float) CompositeExtract 22 0
|
||||
27: 26(ptr) AccessChain 18(t) 25
|
||||
Store 27 23
|
||||
28: 6(float) CompositeExtract 22 1
|
||||
30: 26(ptr) AccessChain 18(t) 29
|
||||
Store 30 28
|
||||
31: 6(float) CompositeExtract 22 2
|
||||
33: 26(ptr) AccessChain 18(t) 32
|
||||
Store 33 31
|
||||
34: 7(fvec4) CompositeExtract 22 3
|
||||
37: 36(ptr) AccessChain 18(t) 35
|
||||
Store 37 34
|
||||
40: 8(T) Load 18(t)
|
||||
Store 39(param) 40
|
||||
41: 8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 39(param)
|
||||
Store 38(flattenTemp) 41
|
||||
44: 26(ptr) AccessChain 38(flattenTemp) 25
|
||||
45: 6(float) Load 44
|
||||
Store 43(f) 45
|
||||
47: 26(ptr) AccessChain 38(flattenTemp) 29
|
||||
48: 6(float) Load 47
|
||||
Store 46(g) 48
|
||||
50: 26(ptr) AccessChain 38(flattenTemp) 32
|
||||
51: 6(float) Load 50
|
||||
Store 49(d) 51
|
||||
54: 36(ptr) AccessChain 38(flattenTemp) 35
|
||||
55: 7(fvec4) Load 54
|
||||
Store 53(normal) 55
|
||||
40(flattenTemp): 9(ptr) Variable Function
|
||||
41(param): 9(ptr) Variable Function
|
||||
23: 6(float) Load 22(f)
|
||||
25: 24(ptr) AccessChain 18(t) 20
|
||||
Store 25 23
|
||||
28: 6(float) Load 27(g)
|
||||
29: 24(ptr) AccessChain 18(t) 26
|
||||
Store 29 28
|
||||
32: 6(float) Load 31(d)
|
||||
33: 24(ptr) AccessChain 18(t) 30
|
||||
Store 33 32
|
||||
37: 7(fvec4) Load 36(normal)
|
||||
39: 38(ptr) AccessChain 18(t) 34
|
||||
Store 39 37
|
||||
42: 8(T) Load 18(t)
|
||||
Store 41(param) 42
|
||||
43: 8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 41(param)
|
||||
Store 40(flattenTemp) 43
|
||||
46: 24(ptr) AccessChain 40(flattenTemp) 20
|
||||
47: 6(float) Load 46
|
||||
Store 45(f) 47
|
||||
49: 24(ptr) AccessChain 40(flattenTemp) 26
|
||||
50: 6(float) Load 49
|
||||
Store 48(g) 50
|
||||
52: 24(ptr) AccessChain 40(flattenTemp) 30
|
||||
53: 6(float) Load 52
|
||||
Store 51(d) 53
|
||||
56: 38(ptr) AccessChain 40(flattenTemp) 34
|
||||
57: 7(fvec4) Load 56
|
||||
Store 55(normal) 57
|
||||
Return
|
||||
FunctionEnd
|
||||
12(@main(struct-T-f1-f1-f1-vf41;): 8(T) Function None 10
|
||||
|
@ -24,16 +24,27 @@ gl_FragCoord origin is upper left
|
||||
0:7 Function Definition: main( ( temp void)
|
||||
0:7 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp float)
|
||||
0:7 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:7 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:7 Function Call: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -64,16 +75,27 @@ gl_FragCoord origin is upper left
|
||||
0:7 Function Definition: main( ( temp void)
|
||||
0:7 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp float)
|
||||
0:7 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:7 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:7 Function Call: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
@ -82,7 +104,7 @@ gl_FragCoord origin is upper left
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 33 40
|
||||
EntryPoint Fragment 4 "main" 32 36 40
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -92,14 +114,13 @@ gl_FragCoord origin is upper left
|
||||
Name 13 "@main(struct-PSInput-f1-u11;"
|
||||
Name 12 "input"
|
||||
Name 30 "input"
|
||||
Name 31 "PSInput"
|
||||
MemberName 31(PSInput) 0 "interp"
|
||||
MemberName 31(PSInput) 1 "no_interp"
|
||||
Name 33 "input"
|
||||
Name 32 "interp"
|
||||
Name 36 "no_interp"
|
||||
Name 40 "@entryPointOutput"
|
||||
Name 41 "param"
|
||||
MemberDecorate 31(PSInput) 1 Flat
|
||||
Decorate 33(input) Location 0
|
||||
Decorate 32(interp) Location 0
|
||||
Decorate 36(no_interp) Flat
|
||||
Decorate 36(no_interp) Location 1
|
||||
Decorate 40(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
@ -116,20 +137,20 @@ gl_FragCoord origin is upper left
|
||||
22: TypePointer Function 6(float)
|
||||
25: 6(float) Constant 0
|
||||
26: 6(float) Constant 1065353216
|
||||
31(PSInput): TypeStruct 6(float) 7(int)
|
||||
32: TypePointer Input 31(PSInput)
|
||||
33(input): 32(ptr) Variable Input
|
||||
31: TypePointer Input 6(float)
|
||||
32(interp): 31(ptr) Variable Input
|
||||
35: TypePointer Input 7(int)
|
||||
36(no_interp): 35(ptr) Variable Input
|
||||
39: TypePointer Output 10(fvec4)
|
||||
40(@entryPointOutput): 39(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
30(input): 9(ptr) Variable Function
|
||||
41(param): 9(ptr) Variable Function
|
||||
34: 31(PSInput) Load 33(input)
|
||||
35: 6(float) CompositeExtract 34 0
|
||||
36: 22(ptr) AccessChain 30(input) 21
|
||||
Store 36 35
|
||||
37: 7(int) CompositeExtract 34 1
|
||||
33: 6(float) Load 32(interp)
|
||||
34: 22(ptr) AccessChain 30(input) 21
|
||||
Store 34 33
|
||||
37: 7(int) Load 36(no_interp)
|
||||
38: 17(ptr) AccessChain 30(input) 16
|
||||
Store 38 37
|
||||
42: 8(PSInput) Load 30(input)
|
||||
|
@ -25,9 +25,19 @@ gl_FragCoord origin is upper left
|
||||
0:7 Function Definition: main( ( temp void)
|
||||
0:7 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp float)
|
||||
0:7 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:7 Function Call: @main(struct-PSInput-f1-u11;vf4;vf4; ( temp void)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'out1' ( temp 4-component vector of float)
|
||||
@ -39,7 +49,8 @@ gl_FragCoord origin is upper left
|
||||
0:? 'out2' (layout( location=3) out 4-component vector of float)
|
||||
0:? 'out2' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'out1' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'out2' (layout( location=3) out 4-component vector of float)
|
||||
|
||||
@ -73,9 +84,19 @@ gl_FragCoord origin is upper left
|
||||
0:7 Function Definition: main( ( temp void)
|
||||
0:7 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp float)
|
||||
0:7 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:7 Constant:
|
||||
0:7 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:7 Function Call: @main(struct-PSInput-f1-u11;vf4;vf4; ( temp void)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'out1' ( temp 4-component vector of float)
|
||||
@ -87,7 +108,8 @@ gl_FragCoord origin is upper left
|
||||
0:? 'out2' (layout( location=3) out 4-component vector of float)
|
||||
0:? 'out2' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'out1' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'out2' (layout( location=3) out 4-component vector of float)
|
||||
|
||||
@ -98,7 +120,7 @@ gl_FragCoord origin is upper left
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 25 46 48
|
||||
EntryPoint Fragment 4 "main" 26 32 46 48
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -110,10 +132,8 @@ gl_FragCoord origin is upper left
|
||||
Name 14 "out1"
|
||||
Name 15 "out2"
|
||||
Name 22 "input"
|
||||
Name 23 "PSInput"
|
||||
MemberName 23(PSInput) 0 "interp"
|
||||
MemberName 23(PSInput) 1 "no_interp"
|
||||
Name 25 "input"
|
||||
Name 26 "interp"
|
||||
Name 32 "no_interp"
|
||||
Name 36 "out1"
|
||||
Name 37 "out2"
|
||||
Name 38 "param"
|
||||
@ -121,8 +141,9 @@ gl_FragCoord origin is upper left
|
||||
Name 41 "param"
|
||||
Name 46 "out1"
|
||||
Name 48 "out2"
|
||||
MemberDecorate 23(PSInput) 1 Flat
|
||||
Decorate 25(input) Location 0
|
||||
Decorate 26(interp) Location 0
|
||||
Decorate 32(no_interp) Flat
|
||||
Decorate 32(no_interp) Location 1
|
||||
Decorate 46(out1) Location 1
|
||||
Decorate 48(out2) Location 3
|
||||
2: TypeVoid
|
||||
@ -138,13 +159,14 @@ gl_FragCoord origin is upper left
|
||||
19: 10(fvec4) ConstantComposite 18 18 18 18
|
||||
20: 6(float) Constant 0
|
||||
21: 10(fvec4) ConstantComposite 20 20 20 20
|
||||
23(PSInput): TypeStruct 6(float) 7(int)
|
||||
24: TypePointer Input 23(PSInput)
|
||||
25(input): 24(ptr) Variable Input
|
||||
28: TypeInt 32 1
|
||||
29: 28(int) Constant 0
|
||||
30: TypePointer Function 6(float)
|
||||
33: 28(int) Constant 1
|
||||
23: TypeInt 32 1
|
||||
24: 23(int) Constant 0
|
||||
25: TypePointer Input 6(float)
|
||||
26(interp): 25(ptr) Variable Input
|
||||
28: TypePointer Function 6(float)
|
||||
30: 23(int) Constant 1
|
||||
31: TypePointer Input 7(int)
|
||||
32(no_interp): 31(ptr) Variable Input
|
||||
34: TypePointer Function 7(int)
|
||||
45: TypePointer Output 10(fvec4)
|
||||
46(out1): 45(ptr) Variable Output
|
||||
@ -157,13 +179,12 @@ gl_FragCoord origin is upper left
|
||||
38(param): 9(ptr) Variable Function
|
||||
40(param): 11(ptr) Variable Function
|
||||
41(param): 11(ptr) Variable Function
|
||||
26: 23(PSInput) Load 25(input)
|
||||
27: 6(float) CompositeExtract 26 0
|
||||
31: 30(ptr) AccessChain 22(input) 29
|
||||
Store 31 27
|
||||
32: 7(int) CompositeExtract 26 1
|
||||
35: 34(ptr) AccessChain 22(input) 33
|
||||
Store 35 32
|
||||
27: 6(float) Load 26(interp)
|
||||
29: 28(ptr) AccessChain 22(input) 24
|
||||
Store 29 27
|
||||
33: 7(int) Load 32(no_interp)
|
||||
35: 34(ptr) AccessChain 22(input) 30
|
||||
Store 35 33
|
||||
39: 8(PSInput) Load 22(input)
|
||||
Store 38(param) 39
|
||||
42: 2 FunctionCall 16(@main(struct-PSInput-f1-u11;vf4;vf4;) 38(param) 40(param) 41(param)
|
||||
|
@ -48,9 +48,19 @@ gl_FragCoord origin is upper left
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
@ -75,7 +85,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
@ -131,9 +142,19 @@ gl_FragCoord origin is upper left
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
@ -158,7 +179,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
@ -168,7 +190,7 @@ gl_FragCoord origin is upper left
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 43 57 60 63
|
||||
EntryPoint Fragment 4 "main" 42 46 57 60 63
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -183,10 +205,8 @@ gl_FragCoord origin is upper left
|
||||
Name 15 "po"
|
||||
Name 19 "pso"
|
||||
Name 40 "input"
|
||||
Name 41 "PSInput"
|
||||
MemberName 41(PSInput) 0 "interp"
|
||||
MemberName 41(PSInput) 1 "no_interp"
|
||||
Name 43 "input"
|
||||
Name 42 "interp"
|
||||
Name 46 "no_interp"
|
||||
Name 49 "flattenTemp"
|
||||
Name 50 "po"
|
||||
Name 51 "param"
|
||||
@ -194,8 +214,9 @@ gl_FragCoord origin is upper left
|
||||
Name 57 "o1"
|
||||
Name 60 "o2"
|
||||
Name 63 "po"
|
||||
MemberDecorate 41(PSInput) 1 Flat
|
||||
Decorate 43(input) Location 0
|
||||
Decorate 42(interp) Location 0
|
||||
Decorate 46(no_interp) Flat
|
||||
Decorate 46(no_interp) Location 1
|
||||
Decorate 57(o1) Location 2
|
||||
Decorate 60(o2) Location 1
|
||||
Decorate 63(po) Location 0
|
||||
@ -219,9 +240,10 @@ gl_FragCoord origin is upper left
|
||||
31: 6(float) Constant 1065353216
|
||||
34: 10(fvec4) ConstantComposite 31 31 31 31
|
||||
36: 10(fvec4) ConstantComposite 30 30 30 30
|
||||
41(PSInput): TypeStruct 6(float) 7(int)
|
||||
42: TypePointer Input 41(PSInput)
|
||||
43(input): 42(ptr) Variable Input
|
||||
41: TypePointer Input 6(float)
|
||||
42(interp): 41(ptr) Variable Input
|
||||
45: TypePointer Input 7(int)
|
||||
46(no_interp): 45(ptr) Variable Input
|
||||
56: TypePointer Output 10(fvec4)
|
||||
57(o1): 56(ptr) Variable Output
|
||||
60(o2): 56(ptr) Variable Output
|
||||
@ -233,11 +255,10 @@ gl_FragCoord origin is upper left
|
||||
50(po): 11(ptr) Variable Function
|
||||
51(param): 9(ptr) Variable Function
|
||||
53(param): 11(ptr) Variable Function
|
||||
44: 41(PSInput) Load 43(input)
|
||||
45: 6(float) CompositeExtract 44 0
|
||||
46: 27(ptr) AccessChain 40(input) 21
|
||||
Store 46 45
|
||||
47: 7(int) CompositeExtract 44 1
|
||||
43: 6(float) Load 42(interp)
|
||||
44: 27(ptr) AccessChain 40(input) 21
|
||||
Store 44 43
|
||||
47: 7(int) Load 46(no_interp)
|
||||
48: 23(ptr) AccessChain 40(input) 22
|
||||
Store 48 47
|
||||
52: 8(PSInput) Load 40(input)
|
||||
|
@ -48,9 +48,19 @@ gl_FragCoord origin is upper left
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
@ -75,7 +85,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=3) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
@ -131,9 +142,19 @@ gl_FragCoord origin is upper left
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 interp: direct index for structure ( temp float)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 no_interp: direct index for structure ( temp uint)
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
@ -158,7 +179,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=3) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'interp' (layout( location=0) in float)
|
||||
0:? 'no_interp' (layout( location=1) flat in uint)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
@ -168,7 +190,7 @@ gl_FragCoord origin is upper left
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 43 57 60 63
|
||||
EntryPoint Fragment 4 "main" 42 46 57 60 63
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -183,10 +205,8 @@ gl_FragCoord origin is upper left
|
||||
Name 15 "po"
|
||||
Name 19 "pso"
|
||||
Name 40 "input"
|
||||
Name 41 "PSInput"
|
||||
MemberName 41(PSInput) 0 "interp"
|
||||
MemberName 41(PSInput) 1 "no_interp"
|
||||
Name 43 "input"
|
||||
Name 42 "interp"
|
||||
Name 46 "no_interp"
|
||||
Name 49 "flattenTemp"
|
||||
Name 50 "po"
|
||||
Name 51 "param"
|
||||
@ -194,8 +214,9 @@ gl_FragCoord origin is upper left
|
||||
Name 57 "o1"
|
||||
Name 60 "o2"
|
||||
Name 63 "po"
|
||||
MemberDecorate 41(PSInput) 1 Flat
|
||||
Decorate 43(input) Location 0
|
||||
Decorate 42(interp) Location 0
|
||||
Decorate 46(no_interp) Flat
|
||||
Decorate 46(no_interp) Location 1
|
||||
Decorate 57(o1) Location 2
|
||||
Decorate 60(o2) Location 3
|
||||
Decorate 63(po) Location 0
|
||||
@ -219,9 +240,10 @@ gl_FragCoord origin is upper left
|
||||
31: 6(float) Constant 1065353216
|
||||
34: 10(fvec4) ConstantComposite 31 31 31 31
|
||||
36: 10(fvec4) ConstantComposite 30 30 30 30
|
||||
41(PSInput): TypeStruct 6(float) 7(int)
|
||||
42: TypePointer Input 41(PSInput)
|
||||
43(input): 42(ptr) Variable Input
|
||||
41: TypePointer Input 6(float)
|
||||
42(interp): 41(ptr) Variable Input
|
||||
45: TypePointer Input 7(int)
|
||||
46(no_interp): 45(ptr) Variable Input
|
||||
56: TypePointer Output 10(fvec4)
|
||||
57(o1): 56(ptr) Variable Output
|
||||
60(o2): 56(ptr) Variable Output
|
||||
@ -233,11 +255,10 @@ gl_FragCoord origin is upper left
|
||||
50(po): 11(ptr) Variable Function
|
||||
51(param): 9(ptr) Variable Function
|
||||
53(param): 11(ptr) Variable Function
|
||||
44: 41(PSInput) Load 43(input)
|
||||
45: 6(float) CompositeExtract 44 0
|
||||
46: 27(ptr) AccessChain 40(input) 21
|
||||
Store 46 45
|
||||
47: 7(int) CompositeExtract 44 1
|
||||
43: 6(float) Load 42(interp)
|
||||
44: 27(ptr) AccessChain 40(input) 21
|
||||
Store 44 43
|
||||
47: 7(int) Load 46(no_interp)
|
||||
48: 23(ptr) AccessChain 40(input) 22
|
||||
Store 48 47
|
||||
52: 8(PSInput) Load 40(input)
|
||||
|
@ -1904,6 +1904,10 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
|
||||
// Structs containing built-ins must be split
|
||||
else if (variable.getType().containsBuiltIn())
|
||||
split(variable);
|
||||
else if (!variable.getType().getQualifier().isArrayedIo(language))
|
||||
flatten(variable);
|
||||
//else
|
||||
// TODO: unify split and flatten, so all paths can create flattened I/O
|
||||
}
|
||||
|
||||
// For clip and cull distance, multiple output variables potentially get merged
|
||||
@ -1915,7 +1919,7 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
|
||||
if (entryPointOutput != nullptr)
|
||||
makeVariableInOut(*entryPointOutput);
|
||||
for (auto it = inputs.begin(); it != inputs.end(); ++it)
|
||||
if (!isDsPcfInput((*it)->getType())) // skip domain shader PCF input (see comment below)
|
||||
if (!isDsPcfInput((*it)->getType())) // wait until the end for PCF input (see comment below)
|
||||
makeVariableInOut(*(*it));
|
||||
for (auto it = outputs.begin(); it != outputs.end(); ++it)
|
||||
makeVariableInOut(*(*it));
|
||||
@ -1927,7 +1931,7 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
|
||||
// however, so this ensures the linkage is built in the correct order regardless of argument order.
|
||||
if (language == EShLangTessEvaluation) {
|
||||
for (auto it = inputs.begin(); it != inputs.end(); ++it)
|
||||
if (isDsPcfInput((*it)->getType())) // skip domain shader PCF input (see comment below)
|
||||
if (isDsPcfInput((*it)->getType()))
|
||||
makeVariableInOut(*(*it));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user