 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.
		
			
				
	
	
		
			302 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			302 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| hlsl.structarray.flatten.frag
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:23  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
 | |
| 0:23    Function Parameters: 
 | |
| 0:23      'ps_output' ( out structure{ temp 4-component vector of float color})
 | |
| 0:?     Sequence
 | |
| 0:24      move second child to first child ( temp 4-component vector of float)
 | |
| 0:24        color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:24          'ps_output' ( out structure{ temp 4-component vector of float color})
 | |
| 0:24          Constant:
 | |
| 0:24            0 (const int)
 | |
| 0:26        add ( temp 4-component vector of float)
 | |
| 0:25          add ( temp 4-component vector of float)
 | |
| 0:25            texture ( temp 4-component vector of float)
 | |
| 0:25              Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:?                 'g_texdata.tex' ( uniform texture1D)
 | |
| 0:?                 'g_texdata.samp' ( uniform sampler)
 | |
| 0:25              Constant:
 | |
| 0:25                0.500000
 | |
| 0:26            texture ( temp 4-component vector of float)
 | |
| 0:26              Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:?                 'g_texdata_array[1].tex' ( uniform texture1D)
 | |
| 0:?                 'g_texdata_array[1].samp' ( uniform sampler)
 | |
| 0:26              Constant:
 | |
| 0:26                0.400000
 | |
| 0:27          texture ( temp 4-component vector of float)
 | |
| 0:27            Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:27              direct index ( temp texture1D)
 | |
| 0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 | |
| 0:27                Constant:
 | |
| 0:27                  0 (const int)
 | |
| 0:27              direct index ( temp sampler)
 | |
| 0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
 | |
| 0:27                Constant:
 | |
| 0:27                  0 (const int)
 | |
| 0:27            Constant:
 | |
| 0:27              0.300000
 | |
| 0:23  Function Definition: main( ( temp void)
 | |
| 0:23    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:23      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
 | |
| 0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
 | |
| 0:23      Sequence
 | |
| 0:23        move second child to first child ( temp 4-component vector of float)
 | |
| 0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
 | |
| 0:23          color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
 | |
| 0:23            Constant:
 | |
| 0:23              0 (const int)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'g_samp' ( uniform sampler)
 | |
| 0:?     'g_tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata.samp' ( uniform sampler)
 | |
| 0:?     'g_texdata.tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata.nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[0].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[0].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[0].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[1].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[1].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[1].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[2].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[2].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
 | |
| 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 | |
| 
 | |
| 
 | |
| Linked fragment stage:
 | |
| 
 | |
| 
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:23  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
 | |
| 0:23    Function Parameters: 
 | |
| 0:23      'ps_output' ( out structure{ temp 4-component vector of float color})
 | |
| 0:?     Sequence
 | |
| 0:24      move second child to first child ( temp 4-component vector of float)
 | |
| 0:24        color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:24          'ps_output' ( out structure{ temp 4-component vector of float color})
 | |
| 0:24          Constant:
 | |
| 0:24            0 (const int)
 | |
| 0:26        add ( temp 4-component vector of float)
 | |
| 0:25          add ( temp 4-component vector of float)
 | |
| 0:25            texture ( temp 4-component vector of float)
 | |
| 0:25              Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:?                 'g_texdata.tex' ( uniform texture1D)
 | |
| 0:?                 'g_texdata.samp' ( uniform sampler)
 | |
| 0:25              Constant:
 | |
| 0:25                0.500000
 | |
| 0:26            texture ( temp 4-component vector of float)
 | |
| 0:26              Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:?                 'g_texdata_array[1].tex' ( uniform texture1D)
 | |
| 0:?                 'g_texdata_array[1].samp' ( uniform sampler)
 | |
| 0:26              Constant:
 | |
| 0:26                0.400000
 | |
| 0:27          texture ( temp 4-component vector of float)
 | |
| 0:27            Construct combined texture-sampler ( temp sampler1D)
 | |
| 0:27              direct index ( temp texture1D)
 | |
| 0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 | |
| 0:27                Constant:
 | |
| 0:27                  0 (const int)
 | |
| 0:27              direct index ( temp sampler)
 | |
| 0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
 | |
| 0:27                Constant:
 | |
| 0:27                  0 (const int)
 | |
| 0:27            Constant:
 | |
| 0:27              0.300000
 | |
| 0:23  Function Definition: main( ( temp void)
 | |
| 0:23    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:23      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
 | |
| 0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
 | |
| 0:23      Sequence
 | |
| 0:23        move second child to first child ( temp 4-component vector of float)
 | |
| 0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
 | |
| 0:23          color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
 | |
| 0:23            Constant:
 | |
| 0:23              0 (const int)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'g_samp' ( uniform sampler)
 | |
| 0:?     'g_tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata.samp' ( uniform sampler)
 | |
| 0:?     'g_texdata.tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata.nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[0].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[0].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[0].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[1].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[1].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[1].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array[2].samp' ( uniform sampler)
 | |
| 0:?     'g_texdata_array[2].tex' ( uniform texture1D)
 | |
| 0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
 | |
| 0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
 | |
| 0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
 | |
| 0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
 | |
| 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 | |
| 
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 80006
 | |
| // Id's are bound by 80
 | |
| 
 | |
|                               Capability Shader
 | |
|                               Capability Sampled1D
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint Fragment 4  "main" 59
 | |
|                               ExecutionMode 4 OriginUpperLeft
 | |
|                               Source HLSL 500
 | |
|                               Name 4  "main"
 | |
|                               Name 8  "PS_OUTPUT"
 | |
|                               MemberName 8(PS_OUTPUT) 0  "color"
 | |
|                               Name 12  "@main(struct-PS_OUTPUT-vf41;"
 | |
|                               Name 11  "ps_output"
 | |
|                               Name 18  "g_texdata.tex"
 | |
|                               Name 22  "g_texdata.samp"
 | |
|                               Name 28  "g_texdata_array[1].tex"
 | |
|                               Name 30  "g_texdata_array[1].samp"
 | |
|                               Name 40  "g_texdata_array2[1].tex"
 | |
|                               Name 45  "g_texdata_array2[1].samp"
 | |
|                               Name 54  "ps_output"
 | |
|                               Name 55  "param"
 | |
|                               Name 59  "ps_output.color"
 | |
|                               Name 62  "g_samp"
 | |
|                               Name 63  "g_tex"
 | |
|                               Name 65  "g_texdata.nonopaque_thing"
 | |
|                               Name 66  "g_texdata_array[0].samp"
 | |
|                               Name 67  "g_texdata_array[0].tex"
 | |
|                               Name 68  "g_texdata_array[0].nonopaque_thing"
 | |
|                               Name 69  "g_texdata_array[1].nonopaque_thing"
 | |
|                               Name 70  "g_texdata_array[2].samp"
 | |
|                               Name 71  "g_texdata_array[2].tex"
 | |
|                               Name 72  "g_texdata_array[2].nonopaque_thing"
 | |
|                               Name 73  "g_texdata_array2[0].samp"
 | |
|                               Name 74  "g_texdata_array2[0].tex"
 | |
|                               Name 75  "g_texdata_array2[0].nonopaque_thing"
 | |
|                               Name 76  "g_texdata_array2[1].nonopaque_thing"
 | |
|                               Name 77  "g_texdata_array2[2].samp"
 | |
|                               Name 78  "g_texdata_array2[2].tex"
 | |
|                               Name 79  "g_texdata_array2[2].nonopaque_thing"
 | |
|                               Decorate 18(g_texdata.tex) DescriptorSet 0
 | |
|                               Decorate 22(g_texdata.samp) DescriptorSet 0
 | |
|                               Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
 | |
|                               Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
 | |
|                               Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
 | |
|                               Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
 | |
|                               Decorate 59(ps_output.color) Location 0
 | |
|                               Decorate 62(g_samp) DescriptorSet 0
 | |
|                               Decorate 63(g_tex) DescriptorSet 0
 | |
|                               Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
 | |
|                               Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
 | |
|                               Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
 | |
|                               Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
 | |
|                               Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
 | |
|                               Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
 | |
|                               Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
 | |
|                               Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 4
 | |
|     8(PS_OUTPUT):             TypeStruct 7(fvec4)
 | |
|                9:             TypePointer Function 8(PS_OUTPUT)
 | |
|               10:             TypeFunction 2 9(ptr)
 | |
|               14:             TypeInt 32 1
 | |
|               15:     14(int) Constant 0
 | |
|               16:             TypeImage 6(float) 1D sampled format:Unknown
 | |
|               17:             TypePointer UniformConstant 16
 | |
| 18(g_texdata.tex):     17(ptr) Variable UniformConstant
 | |
|               20:             TypeSampler
 | |
|               21:             TypePointer UniformConstant 20
 | |
| 22(g_texdata.samp):     21(ptr) Variable UniformConstant
 | |
|               24:             TypeSampledImage 16
 | |
|               26:    6(float) Constant 1056964608
 | |
| 28(g_texdata_array[1].tex):     17(ptr) Variable UniformConstant
 | |
| 30(g_texdata_array[1].samp):     21(ptr) Variable UniformConstant
 | |
|               33:    6(float) Constant 1053609165
 | |
|               36:             TypeInt 32 0
 | |
|               37:     36(int) Constant 2
 | |
|               38:             TypeArray 16 37
 | |
|               39:             TypePointer UniformConstant 38
 | |
| 40(g_texdata_array2[1].tex):     39(ptr) Variable UniformConstant
 | |
|               43:             TypeArray 20 37
 | |
|               44:             TypePointer UniformConstant 43
 | |
| 45(g_texdata_array2[1].samp):     44(ptr) Variable UniformConstant
 | |
|               49:    6(float) Constant 1050253722
 | |
|               52:             TypePointer Function 7(fvec4)
 | |
|               58:             TypePointer Output 7(fvec4)
 | |
| 59(ps_output.color):     58(ptr) Variable Output
 | |
|       62(g_samp):     21(ptr) Variable UniformConstant
 | |
|        63(g_tex):     17(ptr) Variable UniformConstant
 | |
|               64:             TypePointer UniformConstant 14(int)
 | |
| 65(g_texdata.nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 66(g_texdata_array[0].samp):     21(ptr) Variable UniformConstant
 | |
| 67(g_texdata_array[0].tex):     17(ptr) Variable UniformConstant
 | |
| 68(g_texdata_array[0].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 69(g_texdata_array[1].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 70(g_texdata_array[2].samp):     21(ptr) Variable UniformConstant
 | |
| 71(g_texdata_array[2].tex):     17(ptr) Variable UniformConstant
 | |
| 72(g_texdata_array[2].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 73(g_texdata_array2[0].samp):     44(ptr) Variable UniformConstant
 | |
| 74(g_texdata_array2[0].tex):     39(ptr) Variable UniformConstant
 | |
| 75(g_texdata_array2[0].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 76(g_texdata_array2[1].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
| 77(g_texdata_array2[2].samp):     44(ptr) Variable UniformConstant
 | |
| 78(g_texdata_array2[2].tex):     39(ptr) Variable UniformConstant
 | |
| 79(g_texdata_array2[2].nonopaque_thing):     64(ptr) Variable UniformConstant
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|    54(ps_output):      9(ptr) Variable Function
 | |
|        55(param):      9(ptr) Variable Function
 | |
|               56:           2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 55(param)
 | |
|               57:8(PS_OUTPUT) Load 55(param)
 | |
|                               Store 54(ps_output) 57
 | |
|               60:     52(ptr) AccessChain 54(ps_output) 15
 | |
|               61:    7(fvec4) Load 60
 | |
|                               Store 59(ps_output.color) 61
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 12(@main(struct-PS_OUTPUT-vf41;):           2 Function None 10
 | |
|    11(ps_output):      9(ptr) FunctionParameter
 | |
|               13:             Label
 | |
|               19:          16 Load 18(g_texdata.tex)
 | |
|               23:          20 Load 22(g_texdata.samp)
 | |
|               25:          24 SampledImage 19 23
 | |
|               27:    7(fvec4) ImageSampleImplicitLod 25 26
 | |
|               29:          16 Load 28(g_texdata_array[1].tex)
 | |
|               31:          20 Load 30(g_texdata_array[1].samp)
 | |
|               32:          24 SampledImage 29 31
 | |
|               34:    7(fvec4) ImageSampleImplicitLod 32 33
 | |
|               35:    7(fvec4) FAdd 27 34
 | |
|               41:     17(ptr) AccessChain 40(g_texdata_array2[1].tex) 15
 | |
|               42:          16 Load 41
 | |
|               46:     21(ptr) AccessChain 45(g_texdata_array2[1].samp) 15
 | |
|               47:          20 Load 46
 | |
|               48:          24 SampledImage 42 47
 | |
|               50:    7(fvec4) ImageSampleImplicitLod 48 49
 | |
|               51:    7(fvec4) FAdd 35 50
 | |
|               53:     52(ptr) AccessChain 11(ps_output) 15
 | |
|                               Store 53 51
 | |
|                               Return
 | |
|                               FunctionEnd
 |