 ac3707921e
			
		
	
	
		ac3707921e
		
	
	
	
	
		
			
			Now, version 5.* is all connected to making the uint type, which doesn't quite work. Generator versions 4 and 6 do not do this.
		
			
				
	
	
		
			414 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			414 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| 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): 80006
 | |
| // 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
 |