 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.
		
			
				
	
	
		
			422 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			422 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| hlsl.matrixindex.frag
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:22      Sequence
 | |
| 0:22        move second child to first child ( temp float)
 | |
| 0:22          'e1_00' ( temp float)
 | |
| 0:22          Constant:
 | |
| 0:22            10.000000
 | |
| 0:23      Sequence
 | |
| 0:23        move second child to first child ( temp float)
 | |
| 0:23          'e1_01' ( temp float)
 | |
| 0:23          Constant:
 | |
| 0:23            11.000000
 | |
| 0:24      Sequence
 | |
| 0:24        move second child to first child ( temp float)
 | |
| 0:24          'e1_10' ( temp float)
 | |
| 0:24          Constant:
 | |
| 0:24            12.000000
 | |
| 0:25      Sequence
 | |
| 0:25        move second child to first child ( temp float)
 | |
| 0:25          'e1_11' ( temp float)
 | |
| 0:25          Constant:
 | |
| 0:25            13.000000
 | |
| 0:26      Sequence
 | |
| 0:26        move second child to first child ( temp float)
 | |
| 0:26          'e1_20' ( temp float)
 | |
| 0:26          Constant:
 | |
| 0:26            14.000000
 | |
| 0:27      Sequence
 | |
| 0:27        move second child to first child ( temp float)
 | |
| 0:27          'e1_21' ( temp float)
 | |
| 0:27          Constant:
 | |
| 0:27            15.000000
 | |
| 0:29      Sequence
 | |
| 0:29        move second child to first child ( temp float)
 | |
| 0:29          'e2_00' ( temp float)
 | |
| 0:29          Constant:
 | |
| 0:29            20.000000
 | |
| 0:30      Sequence
 | |
| 0:30        move second child to first child ( temp float)
 | |
| 0:30          'e2_01' ( temp float)
 | |
| 0:30          Constant:
 | |
| 0:30            21.000000
 | |
| 0:31      Sequence
 | |
| 0:31        move second child to first child ( temp float)
 | |
| 0:31          'e2_10' ( temp float)
 | |
| 0:31          Constant:
 | |
| 0:31            22.000000
 | |
| 0:32      Sequence
 | |
| 0:32        move second child to first child ( temp float)
 | |
| 0:32          'e2_11' ( temp float)
 | |
| 0:32          Constant:
 | |
| 0:32            23.000000
 | |
| 0:33      Sequence
 | |
| 0:33        move second child to first child ( temp float)
 | |
| 0:33          'e2_20' ( temp float)
 | |
| 0:33          Constant:
 | |
| 0:33            24.000000
 | |
| 0:34      Sequence
 | |
| 0:34        move second child to first child ( temp float)
 | |
| 0:34          'e2_21' ( temp float)
 | |
| 0:34          Constant:
 | |
| 0:34            25.000000
 | |
| 0:39      Sequence
 | |
| 0:39        move second child to first child ( temp 2-component vector of float)
 | |
| 0:39          'r0a' ( temp 2-component vector of float)
 | |
| 0:39          Constant:
 | |
| 0:39            10.000000
 | |
| 0:39            11.000000
 | |
| 0:40      Sequence
 | |
| 0:40        move second child to first child ( temp 2-component vector of float)
 | |
| 0:40          'r1a' ( temp 2-component vector of float)
 | |
| 0:40          Constant:
 | |
| 0:40            12.000000
 | |
| 0:40            13.000000
 | |
| 0:41      Sequence
 | |
| 0:41        move second child to first child ( temp 2-component vector of float)
 | |
| 0:41          'r2a' ( temp 2-component vector of float)
 | |
| 0:41          Constant:
 | |
| 0:41            14.000000
 | |
| 0:41            15.000000
 | |
| 0:43      Sequence
 | |
| 0:43        move second child to first child ( temp 2-component vector of float)
 | |
| 0:43          'r0b' ( temp 2-component vector of float)
 | |
| 0:43          indirect index ( temp 2-component vector of float)
 | |
| 0:43            Constant:
 | |
| 0:43              20.000000
 | |
| 0:43              21.000000
 | |
| 0:43              22.000000
 | |
| 0:43              23.000000
 | |
| 0:43              24.000000
 | |
| 0:43              25.000000
 | |
| 0:43            idx: direct index for structure ( uniform int)
 | |
| 0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:43              Constant:
 | |
| 0:43                0 (const uint)
 | |
| 0:44      Sequence
 | |
| 0:44        move second child to first child ( temp 2-component vector of float)
 | |
| 0:44          'r0c' ( temp 2-component vector of float)
 | |
| 0:44          indirect index ( temp 2-component vector of float)
 | |
| 0:44            um: direct index for structure ( uniform 3X2 matrix of float)
 | |
| 0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:44              Constant:
 | |
| 0:44                1 (const uint)
 | |
| 0:44            idx: direct index for structure ( uniform int)
 | |
| 0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:44              Constant:
 | |
| 0:44                0 (const uint)
 | |
| 0:47      move second child to first child ( temp 4-component vector of float)
 | |
| 0:47        Color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:47          Constant:
 | |
| 0:47            0 (const int)
 | |
| 0:47        Construct vec4 ( temp 4-component vector of float)
 | |
| 0:47          'e2_11' ( temp float)
 | |
| 0:48      Branch: Return with expression
 | |
| 0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10  Function Definition: main( ( temp void)
 | |
| 0:10    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:10      Sequence
 | |
| 0:10        move second child to first child ( temp 4-component vector of float)
 | |
| 0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | |
| 0:10          Color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const int)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:?     '@entryPointOutput.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:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:22      Sequence
 | |
| 0:22        move second child to first child ( temp float)
 | |
| 0:22          'e1_00' ( temp float)
 | |
| 0:22          Constant:
 | |
| 0:22            10.000000
 | |
| 0:23      Sequence
 | |
| 0:23        move second child to first child ( temp float)
 | |
| 0:23          'e1_01' ( temp float)
 | |
| 0:23          Constant:
 | |
| 0:23            11.000000
 | |
| 0:24      Sequence
 | |
| 0:24        move second child to first child ( temp float)
 | |
| 0:24          'e1_10' ( temp float)
 | |
| 0:24          Constant:
 | |
| 0:24            12.000000
 | |
| 0:25      Sequence
 | |
| 0:25        move second child to first child ( temp float)
 | |
| 0:25          'e1_11' ( temp float)
 | |
| 0:25          Constant:
 | |
| 0:25            13.000000
 | |
| 0:26      Sequence
 | |
| 0:26        move second child to first child ( temp float)
 | |
| 0:26          'e1_20' ( temp float)
 | |
| 0:26          Constant:
 | |
| 0:26            14.000000
 | |
| 0:27      Sequence
 | |
| 0:27        move second child to first child ( temp float)
 | |
| 0:27          'e1_21' ( temp float)
 | |
| 0:27          Constant:
 | |
| 0:27            15.000000
 | |
| 0:29      Sequence
 | |
| 0:29        move second child to first child ( temp float)
 | |
| 0:29          'e2_00' ( temp float)
 | |
| 0:29          Constant:
 | |
| 0:29            20.000000
 | |
| 0:30      Sequence
 | |
| 0:30        move second child to first child ( temp float)
 | |
| 0:30          'e2_01' ( temp float)
 | |
| 0:30          Constant:
 | |
| 0:30            21.000000
 | |
| 0:31      Sequence
 | |
| 0:31        move second child to first child ( temp float)
 | |
| 0:31          'e2_10' ( temp float)
 | |
| 0:31          Constant:
 | |
| 0:31            22.000000
 | |
| 0:32      Sequence
 | |
| 0:32        move second child to first child ( temp float)
 | |
| 0:32          'e2_11' ( temp float)
 | |
| 0:32          Constant:
 | |
| 0:32            23.000000
 | |
| 0:33      Sequence
 | |
| 0:33        move second child to first child ( temp float)
 | |
| 0:33          'e2_20' ( temp float)
 | |
| 0:33          Constant:
 | |
| 0:33            24.000000
 | |
| 0:34      Sequence
 | |
| 0:34        move second child to first child ( temp float)
 | |
| 0:34          'e2_21' ( temp float)
 | |
| 0:34          Constant:
 | |
| 0:34            25.000000
 | |
| 0:39      Sequence
 | |
| 0:39        move second child to first child ( temp 2-component vector of float)
 | |
| 0:39          'r0a' ( temp 2-component vector of float)
 | |
| 0:39          Constant:
 | |
| 0:39            10.000000
 | |
| 0:39            11.000000
 | |
| 0:40      Sequence
 | |
| 0:40        move second child to first child ( temp 2-component vector of float)
 | |
| 0:40          'r1a' ( temp 2-component vector of float)
 | |
| 0:40          Constant:
 | |
| 0:40            12.000000
 | |
| 0:40            13.000000
 | |
| 0:41      Sequence
 | |
| 0:41        move second child to first child ( temp 2-component vector of float)
 | |
| 0:41          'r2a' ( temp 2-component vector of float)
 | |
| 0:41          Constant:
 | |
| 0:41            14.000000
 | |
| 0:41            15.000000
 | |
| 0:43      Sequence
 | |
| 0:43        move second child to first child ( temp 2-component vector of float)
 | |
| 0:43          'r0b' ( temp 2-component vector of float)
 | |
| 0:43          indirect index ( temp 2-component vector of float)
 | |
| 0:43            Constant:
 | |
| 0:43              20.000000
 | |
| 0:43              21.000000
 | |
| 0:43              22.000000
 | |
| 0:43              23.000000
 | |
| 0:43              24.000000
 | |
| 0:43              25.000000
 | |
| 0:43            idx: direct index for structure ( uniform int)
 | |
| 0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:43              Constant:
 | |
| 0:43                0 (const uint)
 | |
| 0:44      Sequence
 | |
| 0:44        move second child to first child ( temp 2-component vector of float)
 | |
| 0:44          'r0c' ( temp 2-component vector of float)
 | |
| 0:44          indirect index ( temp 2-component vector of float)
 | |
| 0:44            um: direct index for structure ( uniform 3X2 matrix of float)
 | |
| 0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:44              Constant:
 | |
| 0:44                1 (const uint)
 | |
| 0:44            idx: direct index for structure ( uniform int)
 | |
| 0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:44              Constant:
 | |
| 0:44                0 (const uint)
 | |
| 0:47      move second child to first child ( temp 4-component vector of float)
 | |
| 0:47        Color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:47          Constant:
 | |
| 0:47            0 (const int)
 | |
| 0:47        Construct vec4 ( temp 4-component vector of float)
 | |
| 0:47          'e2_11' ( temp float)
 | |
| 0:48      Branch: Return with expression
 | |
| 0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10  Function Definition: main( ( temp void)
 | |
| 0:10    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:10      Sequence
 | |
| 0:10        move second child to first child ( temp 4-component vector of float)
 | |
| 0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | |
| 0:10          Color: direct index for structure ( temp 4-component vector of float)
 | |
| 0:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const int)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 | |
| 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | |
| 
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 80006
 | |
| // Id's are bound by 83
 | |
| 
 | |
|                               Capability Shader
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint Fragment 4  "main" 80
 | |
|                               ExecutionMode 4 OriginUpperLeft
 | |
|                               Source HLSL 500
 | |
|                               Name 4  "main"
 | |
|                               Name 8  "PS_OUTPUT"
 | |
|                               MemberName 8(PS_OUTPUT) 0  "Color"
 | |
|                               Name 10  "@main("
 | |
|                               Name 13  "e1_00"
 | |
|                               Name 15  "e1_01"
 | |
|                               Name 17  "e1_10"
 | |
|                               Name 19  "e1_11"
 | |
|                               Name 21  "e1_20"
 | |
|                               Name 23  "e1_21"
 | |
|                               Name 25  "e2_00"
 | |
|                               Name 27  "e2_01"
 | |
|                               Name 29  "e2_10"
 | |
|                               Name 31  "e2_11"
 | |
|                               Name 33  "e2_20"
 | |
|                               Name 35  "e2_21"
 | |
|                               Name 39  "r0a"
 | |
|                               Name 41  "r1a"
 | |
|                               Name 43  "r2a"
 | |
|                               Name 45  "r0b"
 | |
|                               Name 52  "$Global"
 | |
|                               MemberName 52($Global) 0  "idx"
 | |
|                               MemberName 52($Global) 1  "um"
 | |
|                               Name 54  ""
 | |
|                               Name 60  "indexable"
 | |
|                               Name 63  "r0c"
 | |
|                               Name 71  "psout"
 | |
|                               Name 80  "@entryPointOutput.Color"
 | |
|                               MemberDecorate 52($Global) 0 Offset 0
 | |
|                               MemberDecorate 52($Global) 1 RowMajor
 | |
|                               MemberDecorate 52($Global) 1 Offset 16
 | |
|                               MemberDecorate 52($Global) 1 MatrixStride 16
 | |
|                               Decorate 52($Global) Block
 | |
|                               Decorate 54 DescriptorSet 0
 | |
|                               Decorate 80(@entryPointOutput.Color) Location 0
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 4
 | |
|     8(PS_OUTPUT):             TypeStruct 7(fvec4)
 | |
|                9:             TypeFunction 8(PS_OUTPUT)
 | |
|               12:             TypePointer Function 6(float)
 | |
|               14:    6(float) Constant 1092616192
 | |
|               16:    6(float) Constant 1093664768
 | |
|               18:    6(float) Constant 1094713344
 | |
|               20:    6(float) Constant 1095761920
 | |
|               22:    6(float) Constant 1096810496
 | |
|               24:    6(float) Constant 1097859072
 | |
|               26:    6(float) Constant 1101004800
 | |
|               28:    6(float) Constant 1101529088
 | |
|               30:    6(float) Constant 1102053376
 | |
|               32:    6(float) Constant 1102577664
 | |
|               34:    6(float) Constant 1103101952
 | |
|               36:    6(float) Constant 1103626240
 | |
|               37:             TypeVector 6(float) 2
 | |
|               38:             TypePointer Function 37(fvec2)
 | |
|               40:   37(fvec2) ConstantComposite 14 16
 | |
|               42:   37(fvec2) ConstantComposite 18 20
 | |
|               44:   37(fvec2) ConstantComposite 22 24
 | |
|               46:             TypeMatrix 37(fvec2) 3
 | |
|               47:   37(fvec2) ConstantComposite 26 28
 | |
|               48:   37(fvec2) ConstantComposite 30 32
 | |
|               49:   37(fvec2) ConstantComposite 34 36
 | |
|               50:          46 ConstantComposite 47 48 49
 | |
|               51:             TypeInt 32 1
 | |
|      52($Global):             TypeStruct 51(int) 46
 | |
|               53:             TypePointer Uniform 52($Global)
 | |
|               54:     53(ptr) Variable Uniform
 | |
|               55:     51(int) Constant 0
 | |
|               56:             TypePointer Uniform 51(int)
 | |
|               59:             TypePointer Function 46
 | |
|               64:     51(int) Constant 1
 | |
|               67:             TypePointer Uniform 37(fvec2)
 | |
|               70:             TypePointer Function 8(PS_OUTPUT)
 | |
|               74:             TypePointer Function 7(fvec4)
 | |
|               79:             TypePointer Output 7(fvec4)
 | |
| 80(@entryPointOutput.Color):     79(ptr) Variable Output
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|               81:8(PS_OUTPUT) FunctionCall 10(@main()
 | |
|               82:    7(fvec4) CompositeExtract 81 0
 | |
|                               Store 80(@entryPointOutput.Color) 82
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
|       10(@main():8(PS_OUTPUT) Function None 9
 | |
|               11:             Label
 | |
|        13(e1_00):     12(ptr) Variable Function
 | |
|        15(e1_01):     12(ptr) Variable Function
 | |
|        17(e1_10):     12(ptr) Variable Function
 | |
|        19(e1_11):     12(ptr) Variable Function
 | |
|        21(e1_20):     12(ptr) Variable Function
 | |
|        23(e1_21):     12(ptr) Variable Function
 | |
|        25(e2_00):     12(ptr) Variable Function
 | |
|        27(e2_01):     12(ptr) Variable Function
 | |
|        29(e2_10):     12(ptr) Variable Function
 | |
|        31(e2_11):     12(ptr) Variable Function
 | |
|        33(e2_20):     12(ptr) Variable Function
 | |
|        35(e2_21):     12(ptr) Variable Function
 | |
|          39(r0a):     38(ptr) Variable Function
 | |
|          41(r1a):     38(ptr) Variable Function
 | |
|          43(r2a):     38(ptr) Variable Function
 | |
|          45(r0b):     38(ptr) Variable Function
 | |
|    60(indexable):     59(ptr) Variable Function
 | |
|          63(r0c):     38(ptr) Variable Function
 | |
|        71(psout):     70(ptr) Variable Function
 | |
|                               Store 13(e1_00) 14
 | |
|                               Store 15(e1_01) 16
 | |
|                               Store 17(e1_10) 18
 | |
|                               Store 19(e1_11) 20
 | |
|                               Store 21(e1_20) 22
 | |
|                               Store 23(e1_21) 24
 | |
|                               Store 25(e2_00) 26
 | |
|                               Store 27(e2_01) 28
 | |
|                               Store 29(e2_10) 30
 | |
|                               Store 31(e2_11) 32
 | |
|                               Store 33(e2_20) 34
 | |
|                               Store 35(e2_21) 36
 | |
|                               Store 39(r0a) 40
 | |
|                               Store 41(r1a) 42
 | |
|                               Store 43(r2a) 44
 | |
|               57:     56(ptr) AccessChain 54 55
 | |
|               58:     51(int) Load 57
 | |
|                               Store 60(indexable) 50
 | |
|               61:     38(ptr) AccessChain 60(indexable) 58
 | |
|               62:   37(fvec2) Load 61
 | |
|                               Store 45(r0b) 62
 | |
|               65:     56(ptr) AccessChain 54 55
 | |
|               66:     51(int) Load 65
 | |
|               68:     67(ptr) AccessChain 54 64 66
 | |
|               69:   37(fvec2) Load 68
 | |
|                               Store 63(r0c) 69
 | |
|               72:    6(float) Load 31(e2_11)
 | |
|               73:    7(fvec4) CompositeConstruct 72 72 72 72
 | |
|               75:     74(ptr) AccessChain 71(psout) 55
 | |
|                               Store 75 73
 | |
|               76:8(PS_OUTPUT) Load 71(psout)
 | |
|                               ReturnValue 76
 | |
|                               FunctionEnd
 |