437 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			437 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| hlsl.nonstaticMemberFunction.frag
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:1  Sequence
 | |
| 0:1    move second child to first child ( temp 2-component vector of float)
 | |
| 0:1      'i' ( global 2-component vector of float)
 | |
| 0:?       Constant:
 | |
| 0:?         1.000000
 | |
| 0:?         2.000000
 | |
| 0:5  Function Definition: type1::setmem(vf4; ( temp void)
 | |
| 0:5    Function Parameters: 
 | |
| 0:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:5      'm' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:5      move second child to first child ( temp 4-component vector of float)
 | |
| 0:5        memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:5          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:5          Constant:
 | |
| 0:5            0 (const uint)
 | |
| 0:5        'm' ( in 4-component vector of float)
 | |
| 0:6  Function Definition: type1::seti(i1; ( temp void)
 | |
| 0:6    Function Parameters: 
 | |
| 0:6      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:6      'si' ( in int)
 | |
| 0:?     Sequence
 | |
| 0:6      move second child to first child ( temp int)
 | |
| 0:6        i: direct index for structure ( temp int)
 | |
| 0:6          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:6          Constant:
 | |
| 0:6            1 (const uint)
 | |
| 0:6        'si' ( in int)
 | |
| 0:9  Function Definition: type1::memFun(vf4; ( temp 4-component vector of float)
 | |
| 0:9    Function Parameters: 
 | |
| 0:9      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:9      'a' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:10      Branch: Return with expression
 | |
| 0:10        add ( temp 4-component vector of float)
 | |
| 0:10          vector-scale ( temp 4-component vector of float)
 | |
| 0:10            Convert int to float ( temp float)
 | |
| 0:10              i: direct index for structure ( temp int)
 | |
| 0:10                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:10                Constant:
 | |
| 0:10                  1 (const uint)
 | |
| 0:10            'a' ( in 4-component vector of float)
 | |
| 0:10          memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:10            '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const uint)
 | |
| 0:13  Function Definition: type1::memFun(i1; ( temp int)
 | |
| 0:13    Function Parameters: 
 | |
| 0:13      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:13      'a' ( in int)
 | |
| 0:?     Sequence
 | |
| 0:14      Branch: Return with expression
 | |
| 0:14        Convert float to int ( temp int)
 | |
| 0:14          subtract ( temp float)
 | |
| 0:14            Convert int to float ( temp float)
 | |
| 0:14              add ( temp int)
 | |
| 0:14                i: direct index for structure ( temp int)
 | |
| 0:14                  '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:14                  Constant:
 | |
| 0:14                    1 (const uint)
 | |
| 0:14                'a' ( in int)
 | |
| 0:14            direct index ( temp float)
 | |
| 0:14              memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:14                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:14                Constant:
 | |
| 0:14                  0 (const uint)
 | |
| 0:14              Constant:
 | |
| 0:14                2 (const int)
 | |
| 0:19  Sequence
 | |
| 0:19    move second child to first child ( temp 2-component vector of float)
 | |
| 0:19      'j' ( global 2-component vector of float)
 | |
| 0:19      'i' ( global 2-component vector of float)
 | |
| 0:23  Function Definition: type2::memFun( ( temp 2-component vector of float)
 | |
| 0:23    Function Parameters: 
 | |
| 0:23      '@this' ( temp structure{})
 | |
| 0:?     Sequence
 | |
| 0:23      Branch: Return with expression
 | |
| 0:23        'i' ( global 2-component vector of float)
 | |
| 0:27  Function Definition: @main( ( temp 4-component vector of float)
 | |
| 0:27    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:29      Function Call: type1::setmem(vf4; ( temp void)
 | |
| 0:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:?         Constant:
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:30      Function Call: type1::seti(i1; ( temp void)
 | |
| 0:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:30        Constant:
 | |
| 0:30          17 (const int)
 | |
| 0:31      Sequence
 | |
| 0:31        move second child to first child ( temp 4-component vector of float)
 | |
| 0:31          'f4' ( temp 4-component vector of float)
 | |
| 0:?           Constant:
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:32      add second child into first child ( temp 4-component vector of float)
 | |
| 0:32        'f4' ( temp 4-component vector of float)
 | |
| 0:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
 | |
| 0:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:?           Constant:
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:33      add second child into first child ( temp 4-component vector of float)
 | |
| 0:33        'f4' ( temp 4-component vector of float)
 | |
| 0:33        Convert int to float ( temp float)
 | |
| 0:33          Function Call: type1::memFun(i1; ( temp int)
 | |
| 0:33            'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:33            Constant:
 | |
| 0:33              7 (const int)
 | |
| 0:34      Branch: Return with expression
 | |
| 0:34        'f4' ( temp 4-component vector of float)
 | |
| 0:27  Function Definition: main( ( temp void)
 | |
| 0:27    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:27      move second child to first child ( temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 0:27        Function Call: @main( ( temp 4-component vector of float)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'i' ( global 2-component vector of float)
 | |
| 0:?     'j' ( global 2-component vector of float)
 | |
| 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 
 | |
| 
 | |
| Linked fragment stage:
 | |
| 
 | |
| 
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:1  Sequence
 | |
| 0:1    move second child to first child ( temp 2-component vector of float)
 | |
| 0:1      'i' ( global 2-component vector of float)
 | |
| 0:?       Constant:
 | |
| 0:?         1.000000
 | |
| 0:?         2.000000
 | |
| 0:5  Function Definition: type1::setmem(vf4; ( temp void)
 | |
| 0:5    Function Parameters: 
 | |
| 0:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:5      'm' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:5      move second child to first child ( temp 4-component vector of float)
 | |
| 0:5        memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:5          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:5          Constant:
 | |
| 0:5            0 (const uint)
 | |
| 0:5        'm' ( in 4-component vector of float)
 | |
| 0:6  Function Definition: type1::seti(i1; ( temp void)
 | |
| 0:6    Function Parameters: 
 | |
| 0:6      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:6      'si' ( in int)
 | |
| 0:?     Sequence
 | |
| 0:6      move second child to first child ( temp int)
 | |
| 0:6        i: direct index for structure ( temp int)
 | |
| 0:6          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:6          Constant:
 | |
| 0:6            1 (const uint)
 | |
| 0:6        'si' ( in int)
 | |
| 0:9  Function Definition: type1::memFun(vf4; ( temp 4-component vector of float)
 | |
| 0:9    Function Parameters: 
 | |
| 0:9      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:9      'a' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:10      Branch: Return with expression
 | |
| 0:10        add ( temp 4-component vector of float)
 | |
| 0:10          vector-scale ( temp 4-component vector of float)
 | |
| 0:10            Convert int to float ( temp float)
 | |
| 0:10              i: direct index for structure ( temp int)
 | |
| 0:10                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:10                Constant:
 | |
| 0:10                  1 (const uint)
 | |
| 0:10            'a' ( in 4-component vector of float)
 | |
| 0:10          memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:10            '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const uint)
 | |
| 0:13  Function Definition: type1::memFun(i1; ( temp int)
 | |
| 0:13    Function Parameters: 
 | |
| 0:13      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:13      'a' ( in int)
 | |
| 0:?     Sequence
 | |
| 0:14      Branch: Return with expression
 | |
| 0:14        Convert float to int ( temp int)
 | |
| 0:14          subtract ( temp float)
 | |
| 0:14            Convert int to float ( temp float)
 | |
| 0:14              add ( temp int)
 | |
| 0:14                i: direct index for structure ( temp int)
 | |
| 0:14                  '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:14                  Constant:
 | |
| 0:14                    1 (const uint)
 | |
| 0:14                'a' ( in int)
 | |
| 0:14            direct index ( temp float)
 | |
| 0:14              memVar: direct index for structure ( temp 4-component vector of float)
 | |
| 0:14                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:14                Constant:
 | |
| 0:14                  0 (const uint)
 | |
| 0:14              Constant:
 | |
| 0:14                2 (const int)
 | |
| 0:19  Sequence
 | |
| 0:19    move second child to first child ( temp 2-component vector of float)
 | |
| 0:19      'j' ( global 2-component vector of float)
 | |
| 0:19      'i' ( global 2-component vector of float)
 | |
| 0:23  Function Definition: type2::memFun( ( temp 2-component vector of float)
 | |
| 0:23    Function Parameters: 
 | |
| 0:23      '@this' ( temp structure{})
 | |
| 0:?     Sequence
 | |
| 0:23      Branch: Return with expression
 | |
| 0:23        'i' ( global 2-component vector of float)
 | |
| 0:27  Function Definition: @main( ( temp 4-component vector of float)
 | |
| 0:27    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:29      Function Call: type1::setmem(vf4; ( temp void)
 | |
| 0:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:?         Constant:
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:?           2.000000
 | |
| 0:30      Function Call: type1::seti(i1; ( temp void)
 | |
| 0:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:30        Constant:
 | |
| 0:30          17 (const int)
 | |
| 0:31      Sequence
 | |
| 0:31        move second child to first child ( temp 4-component vector of float)
 | |
| 0:31          'f4' ( temp 4-component vector of float)
 | |
| 0:?           Constant:
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:?             1.000000
 | |
| 0:32      add second child into first child ( temp 4-component vector of float)
 | |
| 0:32        'f4' ( temp 4-component vector of float)
 | |
| 0:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
 | |
| 0:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:?           Constant:
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:?             5.000000
 | |
| 0:33      add second child into first child ( temp 4-component vector of float)
 | |
| 0:33        'f4' ( temp 4-component vector of float)
 | |
| 0:33        Convert int to float ( temp float)
 | |
| 0:33          Function Call: type1::memFun(i1; ( temp int)
 | |
| 0:33            'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 | |
| 0:33            Constant:
 | |
| 0:33              7 (const int)
 | |
| 0:34      Branch: Return with expression
 | |
| 0:34        'f4' ( temp 4-component vector of float)
 | |
| 0:27  Function Definition: main( ( temp void)
 | |
| 0:27    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:27      move second child to first child ( temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 0:27        Function Call: @main( ( temp 4-component vector of float)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'i' ( global 2-component vector of float)
 | |
| 0:?     'j' ( global 2-component vector of float)
 | |
| 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 80001
 | |
| // Id's are bound by 111
 | |
| 
 | |
|                               Capability Shader
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint Fragment 4  "main" 109
 | |
|                               ExecutionMode 4 OriginUpperLeft
 | |
|                               Source HLSL 500
 | |
|                               Name 4  "main"
 | |
|                               Name 9  "type1"
 | |
|                               MemberName 9(type1) 0  "memVar"
 | |
|                               MemberName 9(type1) 1  "i"
 | |
|                               Name 15  "type1::setmem(vf4;"
 | |
|                               Name 13  "@this"
 | |
|                               Name 14  "m"
 | |
|                               Name 21  "type1::seti(i1;"
 | |
|                               Name 19  "@this"
 | |
|                               Name 20  "si"
 | |
|                               Name 26  "type1::memFun(vf4;"
 | |
|                               Name 24  "@this"
 | |
|                               Name 25  "a"
 | |
|                               Name 31  "type1::memFun(i1;"
 | |
|                               Name 29  "@this"
 | |
|                               Name 30  "a"
 | |
|                               Name 33  "type2"
 | |
|                               Name 38  "type2::memFun("
 | |
|                               Name 37  "@this"
 | |
|                               Name 41  "@main("
 | |
|                               Name 44  "i"
 | |
|                               Name 48  "j"
 | |
|                               Name 83  "test"
 | |
|                               Name 85  "param"
 | |
|                               Name 88  "param"
 | |
|                               Name 90  "f4"
 | |
|                               Name 94  "param"
 | |
|                               Name 99  "param"
 | |
|                               Name 109  "@entryPointOutput"
 | |
|                               Decorate 109(@entryPointOutput) Location 0
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 4
 | |
|                8:             TypeInt 32 1
 | |
|         9(type1):             TypeStruct 7(fvec4) 8(int)
 | |
|               10:             TypePointer Function 9(type1)
 | |
|               11:             TypePointer Function 7(fvec4)
 | |
|               12:             TypeFunction 2 10(ptr) 11(ptr)
 | |
|               17:             TypePointer Function 8(int)
 | |
|               18:             TypeFunction 2 10(ptr) 17(ptr)
 | |
|               23:             TypeFunction 7(fvec4) 10(ptr) 11(ptr)
 | |
|               28:             TypeFunction 8(int) 10(ptr) 17(ptr)
 | |
|        33(type2):             TypeStruct
 | |
|               34:             TypePointer Function 33(type2)
 | |
|               35:             TypeVector 6(float) 2
 | |
|               36:             TypeFunction 35(fvec2) 34(ptr)
 | |
|               40:             TypeFunction 7(fvec4)
 | |
|               43:             TypePointer Private 35(fvec2)
 | |
|            44(i):     43(ptr) Variable Private
 | |
|               45:    6(float) Constant 1065353216
 | |
|               46:    6(float) Constant 1073741824
 | |
|               47:   35(fvec2) ConstantComposite 45 46
 | |
|            48(j):     43(ptr) Variable Private
 | |
|               50:      8(int) Constant 0
 | |
|               53:      8(int) Constant 1
 | |
|               71:             TypeInt 32 0
 | |
|               72:     71(int) Constant 2
 | |
|               73:             TypePointer Function 6(float)
 | |
|               84:    7(fvec4) ConstantComposite 46 46 46 46
 | |
|               87:      8(int) Constant 17
 | |
|               91:    7(fvec4) ConstantComposite 45 45 45 45
 | |
|               92:    6(float) Constant 1084227584
 | |
|               93:    7(fvec4) ConstantComposite 92 92 92 92
 | |
|               98:      8(int) Constant 7
 | |
|              108:             TypePointer Output 7(fvec4)
 | |
| 109(@entryPointOutput):    108(ptr) Variable Output
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|                               Store 44(i) 47
 | |
|               49:   35(fvec2) Load 44(i)
 | |
|                               Store 48(j) 49
 | |
|              110:    7(fvec4) FunctionCall 41(@main()
 | |
|                               Store 109(@entryPointOutput) 110
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 15(type1::setmem(vf4;):           2 Function None 12
 | |
|        13(@this):     10(ptr) FunctionParameter
 | |
|            14(m):     11(ptr) FunctionParameter
 | |
|               16:             Label
 | |
|               51:    7(fvec4) Load 14(m)
 | |
|               52:     11(ptr) AccessChain 13(@this) 50
 | |
|                               Store 52 51
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 21(type1::seti(i1;):           2 Function None 18
 | |
|        19(@this):     10(ptr) FunctionParameter
 | |
|           20(si):     17(ptr) FunctionParameter
 | |
|               22:             Label
 | |
|               54:      8(int) Load 20(si)
 | |
|               55:     17(ptr) AccessChain 19(@this) 53
 | |
|                               Store 55 54
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 26(type1::memFun(vf4;):    7(fvec4) Function None 23
 | |
|        24(@this):     10(ptr) FunctionParameter
 | |
|            25(a):     11(ptr) FunctionParameter
 | |
|               27:             Label
 | |
|               56:     17(ptr) AccessChain 24(@this) 53
 | |
|               57:      8(int) Load 56
 | |
|               58:    6(float) ConvertSToF 57
 | |
|               59:    7(fvec4) Load 25(a)
 | |
|               60:    7(fvec4) VectorTimesScalar 59 58
 | |
|               61:     11(ptr) AccessChain 24(@this) 50
 | |
|               62:    7(fvec4) Load 61
 | |
|               63:    7(fvec4) FAdd 60 62
 | |
|                               ReturnValue 63
 | |
|                               FunctionEnd
 | |
| 31(type1::memFun(i1;):      8(int) Function None 28
 | |
|        29(@this):     10(ptr) FunctionParameter
 | |
|            30(a):     17(ptr) FunctionParameter
 | |
|               32:             Label
 | |
|               66:     17(ptr) AccessChain 29(@this) 53
 | |
|               67:      8(int) Load 66
 | |
|               68:      8(int) Load 30(a)
 | |
|               69:      8(int) IAdd 67 68
 | |
|               70:    6(float) ConvertSToF 69
 | |
|               74:     73(ptr) AccessChain 29(@this) 50 72
 | |
|               75:    6(float) Load 74
 | |
|               76:    6(float) FSub 70 75
 | |
|               77:      8(int) ConvertFToS 76
 | |
|                               ReturnValue 77
 | |
|                               FunctionEnd
 | |
| 38(type2::memFun():   35(fvec2) Function None 36
 | |
|        37(@this):     34(ptr) FunctionParameter
 | |
|               39:             Label
 | |
|               80:   35(fvec2) Load 44(i)
 | |
|                               ReturnValue 80
 | |
|                               FunctionEnd
 | |
|       41(@main():    7(fvec4) Function None 40
 | |
|               42:             Label
 | |
|         83(test):     10(ptr) Variable Function
 | |
|        85(param):     11(ptr) Variable Function
 | |
|        88(param):     17(ptr) Variable Function
 | |
|           90(f4):     11(ptr) Variable Function
 | |
|        94(param):     11(ptr) Variable Function
 | |
|        99(param):     17(ptr) Variable Function
 | |
|                               Store 85(param) 84
 | |
|               86:           2 FunctionCall 15(type1::setmem(vf4;) 83(test) 85(param)
 | |
|                               Store 88(param) 87
 | |
|               89:           2 FunctionCall 21(type1::seti(i1;) 83(test) 88(param)
 | |
|                               Store 90(f4) 91
 | |
|                               Store 94(param) 93
 | |
|               95:    7(fvec4) FunctionCall 26(type1::memFun(vf4;) 83(test) 94(param)
 | |
|               96:    7(fvec4) Load 90(f4)
 | |
|               97:    7(fvec4) FAdd 96 95
 | |
|                               Store 90(f4) 97
 | |
|                               Store 99(param) 98
 | |
|              100:      8(int) FunctionCall 31(type1::memFun(i1;) 83(test) 99(param)
 | |
|              101:    6(float) ConvertSToF 100
 | |
|              102:    7(fvec4) Load 90(f4)
 | |
|              103:    7(fvec4) CompositeConstruct 101 101 101 101
 | |
|              104:    7(fvec4) FAdd 102 103
 | |
|                               Store 90(f4) 104
 | |
|              105:    7(fvec4) Load 90(f4)
 | |
|                               ReturnValue 105
 | |
|                               FunctionEnd
 | 
