blob: bd216c8e31f367a46739857ee60229a11ef1e947 [file] [log] [blame]
hlsl.struct.frag
WARNING: 0:26: 'register' : ignoring shader_profile
WARNING: 0:27: 'register' : ignoring shader_profile
WARNING: 0:30: 'register' : ignoring shader_profile
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:40 Function Parameters:
0:40 'input' ( in 4-component vector of float)
0:40 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:45 Compare Equal ( temp bool)
0:45 's3' ( temp structure{ temp 3-component vector of bool b3})
0:45 's3' ( temp structure{ temp 3-component vector of bool b3})
0:46 move second child to first child ( temp 4-component vector of float)
0:46 i: direct index for structure ( temp 4-component vector of float)
0:46 's2' ( global structure{ temp 4-component vector of float i})
0:46 Constant:
0:46 0 (const int)
0:46 ff4: direct index for structure ( temp 4-component vector of float)
0:46 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:46 Constant:
0:46 7 (const int)
0:50 move second child to first child ( temp structure{})
0:50 'e' ( temp structure{})
0:50 e: direct index for structure ( temp structure{})
0:50 'ce' ( temp structure{ temp structure{} e})
0:50 Constant:
0:50 0 (const int)
0:52 Branch: Return with expression
0:52 'input' ( in 4-component vector of float)
0:40 Function Definition: PixelShaderFunction( ( temp void)
0:40 Function Parameters:
0:? Sequence
0:40 move second child to first child ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:40 Sequence
0:40 move second child to first child ( temp 4-component vector of float)
0:40 a: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 b: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:? 's.b' (layout( location=2) flat in bool)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 c: direct index for structure ( temp 1-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 d: direct index for structure ( temp 2-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 ff1: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 4 (const int)
0:? 's.ff1' ( flat in bool Face)
0:40 move second child to first child ( temp bool)
0:40 ff2: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:? 's.ff2' (layout( location=5) flat in bool)
0:40 move second child to first child ( temp bool)
0:40 ff3: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:? 's.ff3' (layout( location=6) flat in bool)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
0:? 's2' ( global structure{ temp 4-component vector of float i})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 's.ff1' ( flat in bool Face)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:? 's.b' (layout( location=2) flat in bool)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:? 's.ff2' (layout( location=5) flat in bool)
0:? 's.ff3' (layout( location=6) flat in bool)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:40 Function Parameters:
0:40 'input' ( in 4-component vector of float)
0:40 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:45 Compare Equal ( temp bool)
0:45 's3' ( temp structure{ temp 3-component vector of bool b3})
0:45 's3' ( temp structure{ temp 3-component vector of bool b3})
0:46 move second child to first child ( temp 4-component vector of float)
0:46 i: direct index for structure ( temp 4-component vector of float)
0:46 's2' ( global structure{ temp 4-component vector of float i})
0:46 Constant:
0:46 0 (const int)
0:46 ff4: direct index for structure ( temp 4-component vector of float)
0:46 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:46 Constant:
0:46 7 (const int)
0:50 move second child to first child ( temp structure{})
0:50 'e' ( temp structure{})
0:50 e: direct index for structure ( temp structure{})
0:50 'ce' ( temp structure{ temp structure{} e})
0:50 Constant:
0:50 0 (const int)
0:52 Branch: Return with expression
0:52 'input' ( in 4-component vector of float)
0:40 Function Definition: PixelShaderFunction( ( temp void)
0:40 Function Parameters:
0:? Sequence
0:40 move second child to first child ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:40 Sequence
0:40 move second child to first child ( temp 4-component vector of float)
0:40 a: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 b: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:? 's.b' (layout( location=2) flat in bool)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 c: direct index for structure ( temp 1-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 d: direct index for structure ( temp 2-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 ff1: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 4 (const int)
0:? 's.ff1' ( flat in bool Face)
0:40 move second child to first child ( temp bool)
0:40 ff2: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:? 's.ff2' (layout( location=5) flat in bool)
0:40 move second child to first child ( temp bool)
0:40 ff3: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:? 's.ff3' (layout( location=6) flat in bool)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
0:? 's2' ( global structure{ temp 4-component vector of float i})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 's.ff1' ( flat in bool Face)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:? 's.b' (layout( location=2) flat in bool)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:? 's.ff2' (layout( location=5) flat in bool)
0:? 's.ff3' (layout( location=6) flat in bool)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 102
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 51 54 59 65 71 76 80 84 87 91
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "PixelShaderFunction"
Name 11 "IN_S"
MemberName 11(IN_S) 0 "a"
MemberName 11(IN_S) 1 "b"
MemberName 11(IN_S) 2 "c"
MemberName 11(IN_S) 3 "d"
MemberName 11(IN_S) 4 "ff1"
MemberName 11(IN_S) 5 "ff2"
MemberName 11(IN_S) 6 "ff3"
MemberName 11(IN_S) 7 "ff4"
Name 16 "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;"
Name 14 "input"
Name 15 "s"
Name 19 "FS"
MemberName 19(FS) 0 "b3"
Name 21 "s3"
Name 28 ""
MemberName 28 0 "i"
Name 30 "s2"
Name 38 "empty"
Name 40 "e"
Name 41 "containEmpty"
MemberName 41(containEmpty) 0 "e"
Name 43 "ce"
Name 49 "input"
Name 51 "input"
Name 53 "s"
Name 54 "s.a"
Name 59 "s.b"
Name 65 "s.c"
Name 71 "s.d"
Name 76 "s.ff1"
Name 80 "s.ff2"
Name 84 "s.ff3"
Name 87 "s.ff4"
Name 91 "@entryPointOutput"
Name 92 "param"
Name 94 "param"
Name 98 "myS"
MemberName 98(myS) 0 "b"
MemberName 98(myS) 1 "c"
MemberName 98(myS) 2 "a"
MemberName 98(myS) 3 "d"
Name 99 "$Global"
MemberName 99($Global) 0 "s1"
MemberName 99($Global) 1 "ff5"
MemberName 99($Global) 2 "ff6"
Name 101 ""
Decorate 51(input) Location 0
Decorate 54(s.a) Location 1
Decorate 59(s.b) Flat
Decorate 59(s.b) Location 2
Decorate 65(s.c) NoPerspective
Decorate 65(s.c) Centroid
Decorate 65(s.c) Location 3
Decorate 71(s.d) Centroid
Decorate 71(s.d) Location 4
Decorate 76(s.ff1) Flat
Decorate 76(s.ff1) BuiltIn FrontFacing
Decorate 80(s.ff2) Flat
Decorate 80(s.ff2) Location 5
Decorate 84(s.ff3) Flat
Decorate 84(s.ff3) Location 6
Decorate 87(s.ff4) Location 7
Decorate 91(@entryPointOutput) Location 0
MemberDecorate 98(myS) 0 Offset 0
MemberDecorate 98(myS) 1 Offset 4
MemberDecorate 98(myS) 2 Offset 16
MemberDecorate 98(myS) 3 Offset 32
MemberDecorate 99($Global) 0 Offset 0
MemberDecorate 99($Global) 1 Offset 1620
MemberDecorate 99($Global) 2 Offset 1636
Decorate 99($Global) Block
Decorate 101 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeBool
10: TypeVector 6(float) 2
11(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4)
12: TypePointer Function 11(IN_S)
13: TypeFunction 7(fvec4) 8(ptr) 12(ptr)
18: TypeVector 9(bool) 3
19(FS): TypeStruct 18(bvec3)
20: TypePointer Function 19(FS)
28: TypeStruct 7(fvec4)
29: TypePointer Private 28(struct)
30(s2): 29(ptr) Variable Private
31: TypeInt 32 1
32: 31(int) Constant 0
33: 31(int) Constant 7
36: TypePointer Private 7(fvec4)
38(empty): TypeStruct
39: TypePointer Function 38(empty)
41(containEmpty): TypeStruct 38(empty)
42: TypePointer Function 41(containEmpty)
50: TypePointer Input 7(fvec4)
51(input): 50(ptr) Variable Input
54(s.a): 50(ptr) Variable Input
57: 31(int) Constant 1
58: TypePointer Input 9(bool)
59(s.b): 58(ptr) Variable Input
61: TypePointer Function 9(bool)
63: 31(int) Constant 2
64: TypePointer Input 6(float)
65(s.c): 64(ptr) Variable Input
67: TypePointer Function 6(float)
69: 31(int) Constant 3
70: TypePointer Input 10(fvec2)
71(s.d): 70(ptr) Variable Input
73: TypePointer Function 10(fvec2)
75: 31(int) Constant 4
76(s.ff1): 58(ptr) Variable Input
79: 31(int) Constant 5
80(s.ff2): 58(ptr) Variable Input
83: 31(int) Constant 6
84(s.ff3): 58(ptr) Variable Input
87(s.ff4): 50(ptr) Variable Input
90: TypePointer Output 7(fvec4)
91(@entryPointOutput): 90(ptr) Variable Output
97: TypeInt 32 0
98(myS): TypeStruct 97(int) 97(int) 7(fvec4) 7(fvec4)
99($Global): TypeStruct 98(myS) 6(float) 6(float)
100: TypePointer Uniform 99($Global)
101: 100(ptr) Variable Uniform
4(PixelShaderFunction): 2 Function None 3
5: Label
49(input): 8(ptr) Variable Function
53(s): 12(ptr) Variable Function
92(param): 8(ptr) Variable Function
94(param): 12(ptr) Variable Function
52: 7(fvec4) Load 51(input)
Store 49(input) 52
55: 7(fvec4) Load 54(s.a)
56: 8(ptr) AccessChain 53(s) 32
Store 56 55
60: 9(bool) Load 59(s.b)
62: 61(ptr) AccessChain 53(s) 57
Store 62 60
66: 6(float) Load 65(s.c)
68: 67(ptr) AccessChain 53(s) 63
Store 68 66
72: 10(fvec2) Load 71(s.d)
74: 73(ptr) AccessChain 53(s) 69
Store 74 72
77: 9(bool) Load 76(s.ff1)
78: 61(ptr) AccessChain 53(s) 75
Store 78 77
81: 9(bool) Load 80(s.ff2)
82: 61(ptr) AccessChain 53(s) 79
Store 82 81
85: 9(bool) Load 84(s.ff3)
86: 61(ptr) AccessChain 53(s) 83
Store 86 85
88: 7(fvec4) Load 87(s.ff4)
89: 8(ptr) AccessChain 53(s) 33
Store 89 88
93: 7(fvec4) Load 49(input)
Store 92(param) 93
95: 11(IN_S) Load 53(s)
Store 94(param) 95
96: 7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 92(param) 94(param)
Store 91(@entryPointOutput) 96
Return
FunctionEnd
16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;): 7(fvec4) Function None 13
14(input): 8(ptr) FunctionParameter
15(s): 12(ptr) FunctionParameter
17: Label
21(s3): 20(ptr) Variable Function
40(e): 39(ptr) Variable Function
43(ce): 42(ptr) Variable Function
22: 19(FS) Load 21(s3)
23: 19(FS) Load 21(s3)
24: 18(bvec3) CompositeExtract 22 0
25: 18(bvec3) CompositeExtract 23 0
26: 18(bvec3) LogicalEqual 24 25
27: 9(bool) All 26
34: 8(ptr) AccessChain 15(s) 33
35: 7(fvec4) Load 34
37: 36(ptr) AccessChain 30(s2) 32
Store 37 35
44: 39(ptr) AccessChain 43(ce) 32
45: 38(empty) Load 44
Store 40(e) 45
46: 7(fvec4) Load 14(input)
ReturnValue 46
FunctionEnd