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) Validation failed // Module Version 10000 // Generated by (magic number): 8000b // 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 Decorate 101 Binding 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