306 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			306 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
hlsl.w-recip2.frag
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:13  Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:13      'VSOut' ( in structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:?     Sequence
 | 
						|
0:14      Test condition and select ( temp void)
 | 
						|
0:14        Condition
 | 
						|
0:14        Compare Less Than ( temp bool)
 | 
						|
0:14          direct index ( temp float)
 | 
						|
0:14            PositionPS: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14              'VSOut' ( in structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:14              Constant:
 | 
						|
0:14                0 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          Constant:
 | 
						|
0:14            400.000000
 | 
						|
0:14        true case
 | 
						|
0:15        Branch: Return with expression
 | 
						|
0:15          AmbientColor: direct index for structure ( uniform 4-component vector of float)
 | 
						|
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:15            Constant:
 | 
						|
0:15              0 (const uint)
 | 
						|
0:14        false case
 | 
						|
0:17        Branch: Return with expression
 | 
						|
0:17          AmbientColor2: direct index for structure ( uniform 4-component vector of float)
 | 
						|
0:17            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:17            Constant:
 | 
						|
0:17              1 (const uint)
 | 
						|
0:13  Function Definition: main( ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      Sequence
 | 
						|
0:13        Sequence
 | 
						|
0:13          move second child to first child ( temp 4-component vector of float)
 | 
						|
0:13            '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:?             'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
 | 
						|
0:13          move second child to first child ( temp float)
 | 
						|
0:13            direct index ( in float FragCoord)
 | 
						|
0:13              '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13              Constant:
 | 
						|
0:13                3 (const int)
 | 
						|
0:13            divide ( temp float)
 | 
						|
0:13              Constant:
 | 
						|
0:13                1.000000
 | 
						|
0:13              direct index ( in float FragCoord)
 | 
						|
0:13                '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13                Constant:
 | 
						|
0:13                  3 (const int)
 | 
						|
0:13          move second child to first child ( temp 4-component vector of float)
 | 
						|
0:13            PositionPS: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:?               'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13              Constant:
 | 
						|
0:13                0 (const int)
 | 
						|
0:13            '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 3-component vector of float)
 | 
						|
0:13          PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              1 (const int)
 | 
						|
0:?           'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 3-component vector of float)
 | 
						|
0:13          NormalWS: direct index for structure ( temp 3-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              2 (const int)
 | 
						|
0:?           'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 2-component vector of float)
 | 
						|
0:13          TexCoord: direct index for structure ( temp 2-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              3 (const int)
 | 
						|
0:?           'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
 | 
						|
0:13      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:13        Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
 | 
						|
0:?           'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:?     'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
 | 
						|
0:?     'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
 | 
						|
0:?     'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
 | 
						|
0:?     'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:13  Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:13      'VSOut' ( in structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:?     Sequence
 | 
						|
0:14      Test condition and select ( temp void)
 | 
						|
0:14        Condition
 | 
						|
0:14        Compare Less Than ( temp bool)
 | 
						|
0:14          direct index ( temp float)
 | 
						|
0:14            PositionPS: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14              'VSOut' ( in structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:14              Constant:
 | 
						|
0:14                0 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          Constant:
 | 
						|
0:14            400.000000
 | 
						|
0:14        true case
 | 
						|
0:15        Branch: Return with expression
 | 
						|
0:15          AmbientColor: direct index for structure ( uniform 4-component vector of float)
 | 
						|
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:15            Constant:
 | 
						|
0:15              0 (const uint)
 | 
						|
0:14        false case
 | 
						|
0:17        Branch: Return with expression
 | 
						|
0:17          AmbientColor2: direct index for structure ( uniform 4-component vector of float)
 | 
						|
0:17            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:17            Constant:
 | 
						|
0:17              1 (const uint)
 | 
						|
0:13  Function Definition: main( ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      Sequence
 | 
						|
0:13        Sequence
 | 
						|
0:13          move second child to first child ( temp 4-component vector of float)
 | 
						|
0:13            '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:?             'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
 | 
						|
0:13          move second child to first child ( temp float)
 | 
						|
0:13            direct index ( in float FragCoord)
 | 
						|
0:13              '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13              Constant:
 | 
						|
0:13                3 (const int)
 | 
						|
0:13            divide ( temp float)
 | 
						|
0:13              Constant:
 | 
						|
0:13                1.000000
 | 
						|
0:13              direct index ( in float FragCoord)
 | 
						|
0:13                '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13                Constant:
 | 
						|
0:13                  3 (const int)
 | 
						|
0:13          move second child to first child ( temp 4-component vector of float)
 | 
						|
0:13            PositionPS: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:?               'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13              Constant:
 | 
						|
0:13                0 (const int)
 | 
						|
0:13            '@fragcoord' ( temp 4-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 3-component vector of float)
 | 
						|
0:13          PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              1 (const int)
 | 
						|
0:?           'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 3-component vector of float)
 | 
						|
0:13          NormalWS: direct index for structure ( temp 3-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              2 (const int)
 | 
						|
0:?           'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
 | 
						|
0:13        move second child to first child ( temp 2-component vector of float)
 | 
						|
0:13          TexCoord: direct index for structure ( temp 2-component vector of float)
 | 
						|
0:?             'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:13            Constant:
 | 
						|
0:13              3 (const int)
 | 
						|
0:?           'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
 | 
						|
0:13      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:13        Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
 | 
						|
0:?           'VSOut' ( temp structure{ temp 4-component vector of float PositionPS,  temp 3-component vector of float PosInLightViewSpace,  temp 3-component vector of float NormalWS,  temp 2-component vector of float TexCoord})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform 4-component vector of float AmbientColor2})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:?     'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
 | 
						|
0:?     'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
 | 
						|
0:?     'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
 | 
						|
0:?     'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 75
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main" 44 56 61 66 71
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 10  "VSOutput"
 | 
						|
                              MemberName 10(VSOutput) 0  "PositionPS"
 | 
						|
                              MemberName 10(VSOutput) 1  "PosInLightViewSpace"
 | 
						|
                              MemberName 10(VSOutput) 2  "NormalWS"
 | 
						|
                              MemberName 10(VSOutput) 3  "TexCoord"
 | 
						|
                              Name 14  "@main(struct-VSOutput-vf4-vf3-vf3-vf21;"
 | 
						|
                              Name 13  "VSOut"
 | 
						|
                              Name 28  "$Global"
 | 
						|
                              MemberName 28($Global) 0  "AmbientColor"
 | 
						|
                              MemberName 28($Global) 1  "AmbientColor2"
 | 
						|
                              Name 30  ""
 | 
						|
                              Name 42  "@fragcoord"
 | 
						|
                              Name 44  "VSOut.PositionPS"
 | 
						|
                              Name 52  "VSOut"
 | 
						|
                              Name 56  "VSOut.PosInLightViewSpace"
 | 
						|
                              Name 61  "VSOut.NormalWS"
 | 
						|
                              Name 66  "VSOut.TexCoord"
 | 
						|
                              Name 71  "@entryPointOutput"
 | 
						|
                              Name 72  "param"
 | 
						|
                              MemberDecorate 28($Global) 0 Offset 0
 | 
						|
                              MemberDecorate 28($Global) 1 Offset 16
 | 
						|
                              Decorate 28($Global) Block
 | 
						|
                              Decorate 30 DescriptorSet 0
 | 
						|
                              Decorate 30 Binding 0
 | 
						|
                              Decorate 44(VSOut.PositionPS) BuiltIn FragCoord
 | 
						|
                              Decorate 56(VSOut.PosInLightViewSpace) Location 0
 | 
						|
                              Decorate 61(VSOut.NormalWS) Location 1
 | 
						|
                              Decorate 66(VSOut.TexCoord) Location 2
 | 
						|
                              Decorate 71(@entryPointOutput) Location 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
               8:             TypeVector 6(float) 3
 | 
						|
               9:             TypeVector 6(float) 2
 | 
						|
    10(VSOutput):             TypeStruct 7(fvec4) 8(fvec3) 8(fvec3) 9(fvec2)
 | 
						|
              11:             TypePointer Function 10(VSOutput)
 | 
						|
              12:             TypeFunction 7(fvec4) 11(ptr)
 | 
						|
              16:             TypeInt 32 1
 | 
						|
              17:     16(int) Constant 0
 | 
						|
              18:             TypeInt 32 0
 | 
						|
              19:     18(int) Constant 0
 | 
						|
              20:             TypePointer Function 6(float)
 | 
						|
              23:    6(float) Constant 1137180672
 | 
						|
              24:             TypeBool
 | 
						|
     28($Global):             TypeStruct 7(fvec4) 7(fvec4)
 | 
						|
              29:             TypePointer Uniform 28($Global)
 | 
						|
              30:     29(ptr) Variable Uniform
 | 
						|
              31:             TypePointer Uniform 7(fvec4)
 | 
						|
              36:     16(int) Constant 1
 | 
						|
              41:             TypePointer Function 7(fvec4)
 | 
						|
              43:             TypePointer Input 7(fvec4)
 | 
						|
44(VSOut.PositionPS):     43(ptr) Variable Input
 | 
						|
              46:    6(float) Constant 1065353216
 | 
						|
              47:     18(int) Constant 3
 | 
						|
              55:             TypePointer Input 8(fvec3)
 | 
						|
56(VSOut.PosInLightViewSpace):     55(ptr) Variable Input
 | 
						|
              58:             TypePointer Function 8(fvec3)
 | 
						|
              60:     16(int) Constant 2
 | 
						|
61(VSOut.NormalWS):     55(ptr) Variable Input
 | 
						|
              64:     16(int) Constant 3
 | 
						|
              65:             TypePointer Input 9(fvec2)
 | 
						|
66(VSOut.TexCoord):     65(ptr) Variable Input
 | 
						|
              68:             TypePointer Function 9(fvec2)
 | 
						|
              70:             TypePointer Output 7(fvec4)
 | 
						|
71(@entryPointOutput):     70(ptr) Variable Output
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
  42(@fragcoord):     41(ptr) Variable Function
 | 
						|
       52(VSOut):     11(ptr) Variable Function
 | 
						|
       72(param):     11(ptr) Variable Function
 | 
						|
              45:    7(fvec4) Load 44(VSOut.PositionPS)
 | 
						|
                              Store 42(@fragcoord) 45
 | 
						|
              48:     20(ptr) AccessChain 42(@fragcoord) 47
 | 
						|
              49:    6(float) Load 48
 | 
						|
              50:    6(float) FDiv 46 49
 | 
						|
              51:     20(ptr) AccessChain 42(@fragcoord) 47
 | 
						|
                              Store 51 50
 | 
						|
              53:    7(fvec4) Load 42(@fragcoord)
 | 
						|
              54:     41(ptr) AccessChain 52(VSOut) 17
 | 
						|
                              Store 54 53
 | 
						|
              57:    8(fvec3) Load 56(VSOut.PosInLightViewSpace)
 | 
						|
              59:     58(ptr) AccessChain 52(VSOut) 36
 | 
						|
                              Store 59 57
 | 
						|
              62:    8(fvec3) Load 61(VSOut.NormalWS)
 | 
						|
              63:     58(ptr) AccessChain 52(VSOut) 60
 | 
						|
                              Store 63 62
 | 
						|
              67:    9(fvec2) Load 66(VSOut.TexCoord)
 | 
						|
              69:     68(ptr) AccessChain 52(VSOut) 64
 | 
						|
                              Store 69 67
 | 
						|
              73:10(VSOutput) Load 52(VSOut)
 | 
						|
                              Store 72(param) 73
 | 
						|
              74:    7(fvec4) FunctionCall 14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;) 72(param)
 | 
						|
                              Store 71(@entryPointOutput) 74
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;):    7(fvec4) Function None 12
 | 
						|
       13(VSOut):     11(ptr) FunctionParameter
 | 
						|
              15:             Label
 | 
						|
              21:     20(ptr) AccessChain 13(VSOut) 17 19
 | 
						|
              22:    6(float) Load 21
 | 
						|
              25:    24(bool) FOrdLessThan 22 23
 | 
						|
                              SelectionMerge 27 None
 | 
						|
                              BranchConditional 25 26 35
 | 
						|
              26:               Label
 | 
						|
              32:     31(ptr)   AccessChain 30 17
 | 
						|
              33:    7(fvec4)   Load 32
 | 
						|
                                ReturnValue 33
 | 
						|
              35:               Label
 | 
						|
              37:     31(ptr)   AccessChain 30 36
 | 
						|
              38:    7(fvec4)   Load 37
 | 
						|
                                ReturnValue 38
 | 
						|
              27:             Label
 | 
						|
                              Unreachable
 | 
						|
                              FunctionEnd
 |