416 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			416 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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
 |