Also, this allows turning on the error check for a failed assigment when parsing. This makes 39 HLSL tests have a working assignment that was previously silently dropped, due to lack of this functionality.
		
			
				
	
	
		
			382 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.sample.offsetarray.dx10.frag
 | 
						|
Shader version: 450
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:38  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:20    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child (temp 4-component vector of float)
 | 
						|
0:23          'txval10' (temp 4-component vector of float)
 | 
						|
0:23          textureOffset (global 4-component vector of float)
 | 
						|
0:23            Construct combined texture-sampler (temp sampler1DArray)
 | 
						|
0:23              'g_tTex1df4' (uniform texture1DArray)
 | 
						|
0:23              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.100000
 | 
						|
0:?               0.200000
 | 
						|
0:23            Constant:
 | 
						|
0:23              0 (const int)
 | 
						|
0:24      Sequence
 | 
						|
0:24        move second child to first child (temp 4-component vector of int)
 | 
						|
0:24          'txval11' (temp 4-component vector of int)
 | 
						|
0:24          textureOffset (global 4-component vector of int)
 | 
						|
0:24            Construct combined texture-sampler (temp isampler1DArray)
 | 
						|
0:24              'g_tTex1di4' (uniform itexture1DArray)
 | 
						|
0:24              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.200000
 | 
						|
0:?               0.300000
 | 
						|
0:24            Constant:
 | 
						|
0:24              1 (const int)
 | 
						|
0:25      Sequence
 | 
						|
0:25        move second child to first child (temp 4-component vector of uint)
 | 
						|
0:25          'txval12' (temp 4-component vector of uint)
 | 
						|
0:25          textureOffset (global 4-component vector of uint)
 | 
						|
0:25            Construct combined texture-sampler (temp usampler1DArray)
 | 
						|
0:25              'g_tTex1du4' (uniform utexture1DArray)
 | 
						|
0:25              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.300000
 | 
						|
0:?               0.400000
 | 
						|
0:25            Constant:
 | 
						|
0:25              2 (const int)
 | 
						|
0:27      Sequence
 | 
						|
0:27        move second child to first child (temp 4-component vector of float)
 | 
						|
0:27          'txval20' (temp 4-component vector of float)
 | 
						|
0:27          textureOffset (global 4-component vector of float)
 | 
						|
0:27            Construct combined texture-sampler (temp sampler2DArray)
 | 
						|
0:27              'g_tTex2df4' (uniform texture2DArray)
 | 
						|
0:27              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.100000
 | 
						|
0:?               0.200000
 | 
						|
0:?               0.300000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               0 (const int)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child (temp 4-component vector of int)
 | 
						|
0:28          'txval21' (temp 4-component vector of int)
 | 
						|
0:28          textureOffset (global 4-component vector of int)
 | 
						|
0:28            Construct combined texture-sampler (temp isampler2DArray)
 | 
						|
0:28              'g_tTex2di4' (uniform itexture2DArray)
 | 
						|
0:28              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.300000
 | 
						|
0:?               0.400000
 | 
						|
0:?               0.500000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               0 (const int)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child (temp 4-component vector of uint)
 | 
						|
0:29          'txval22' (temp 4-component vector of uint)
 | 
						|
0:29          textureOffset (global 4-component vector of uint)
 | 
						|
0:29            Construct combined texture-sampler (temp usampler2DArray)
 | 
						|
0:29              'g_tTex2du4' (uniform utexture2DArray)
 | 
						|
0:29              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.500000
 | 
						|
0:?               0.600000
 | 
						|
0:?               0.700000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               1 (const int)
 | 
						|
0:33      move second child to first child (temp 4-component vector of float)
 | 
						|
0:33        Color: direct index for structure (temp 4-component vector of float)
 | 
						|
0:33          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:33          Constant:
 | 
						|
0:33            0 (const int)
 | 
						|
0:33        Constant:
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:34      move second child to first child (temp float)
 | 
						|
0:34        Depth: direct index for structure (temp float FragDepth)
 | 
						|
0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:34          Constant:
 | 
						|
0:34            1 (const int)
 | 
						|
0:34        Constant:
 | 
						|
0:34          1.000000
 | 
						|
0:36      Branch: Return with expression
 | 
						|
0:36        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_sSamp' (uniform sampler)
 | 
						|
0:?     'g_tTex1df4a' (uniform texture1DArray)
 | 
						|
0:?     'g_tTex1df4' (uniform texture1DArray)
 | 
						|
0:?     'g_tTex1di4' (uniform itexture1DArray)
 | 
						|
0:?     'g_tTex1du4' (uniform utexture1DArray)
 | 
						|
0:?     'g_tTex2df4' (uniform texture2DArray)
 | 
						|
0:?     'g_tTex2di4' (uniform itexture2DArray)
 | 
						|
0:?     'g_tTex2du4' (uniform utexture2DArray)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 450
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:38  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:20    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child (temp 4-component vector of float)
 | 
						|
0:23          'txval10' (temp 4-component vector of float)
 | 
						|
0:23          textureOffset (global 4-component vector of float)
 | 
						|
0:23            Construct combined texture-sampler (temp sampler1DArray)
 | 
						|
0:23              'g_tTex1df4' (uniform texture1DArray)
 | 
						|
0:23              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.100000
 | 
						|
0:?               0.200000
 | 
						|
0:23            Constant:
 | 
						|
0:23              0 (const int)
 | 
						|
0:24      Sequence
 | 
						|
0:24        move second child to first child (temp 4-component vector of int)
 | 
						|
0:24          'txval11' (temp 4-component vector of int)
 | 
						|
0:24          textureOffset (global 4-component vector of int)
 | 
						|
0:24            Construct combined texture-sampler (temp isampler1DArray)
 | 
						|
0:24              'g_tTex1di4' (uniform itexture1DArray)
 | 
						|
0:24              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.200000
 | 
						|
0:?               0.300000
 | 
						|
0:24            Constant:
 | 
						|
0:24              1 (const int)
 | 
						|
0:25      Sequence
 | 
						|
0:25        move second child to first child (temp 4-component vector of uint)
 | 
						|
0:25          'txval12' (temp 4-component vector of uint)
 | 
						|
0:25          textureOffset (global 4-component vector of uint)
 | 
						|
0:25            Construct combined texture-sampler (temp usampler1DArray)
 | 
						|
0:25              'g_tTex1du4' (uniform utexture1DArray)
 | 
						|
0:25              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.300000
 | 
						|
0:?               0.400000
 | 
						|
0:25            Constant:
 | 
						|
0:25              2 (const int)
 | 
						|
0:27      Sequence
 | 
						|
0:27        move second child to first child (temp 4-component vector of float)
 | 
						|
0:27          'txval20' (temp 4-component vector of float)
 | 
						|
0:27          textureOffset (global 4-component vector of float)
 | 
						|
0:27            Construct combined texture-sampler (temp sampler2DArray)
 | 
						|
0:27              'g_tTex2df4' (uniform texture2DArray)
 | 
						|
0:27              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.100000
 | 
						|
0:?               0.200000
 | 
						|
0:?               0.300000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               0 (const int)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child (temp 4-component vector of int)
 | 
						|
0:28          'txval21' (temp 4-component vector of int)
 | 
						|
0:28          textureOffset (global 4-component vector of int)
 | 
						|
0:28            Construct combined texture-sampler (temp isampler2DArray)
 | 
						|
0:28              'g_tTex2di4' (uniform itexture2DArray)
 | 
						|
0:28              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.300000
 | 
						|
0:?               0.400000
 | 
						|
0:?               0.500000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               0 (const int)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child (temp 4-component vector of uint)
 | 
						|
0:29          'txval22' (temp 4-component vector of uint)
 | 
						|
0:29          textureOffset (global 4-component vector of uint)
 | 
						|
0:29            Construct combined texture-sampler (temp usampler2DArray)
 | 
						|
0:29              'g_tTex2du4' (uniform utexture2DArray)
 | 
						|
0:29              'g_sSamp' (uniform sampler)
 | 
						|
0:?             Constant:
 | 
						|
0:?               0.500000
 | 
						|
0:?               0.600000
 | 
						|
0:?               0.700000
 | 
						|
0:?             Constant:
 | 
						|
0:?               0 (const int)
 | 
						|
0:?               1 (const int)
 | 
						|
0:33      move second child to first child (temp 4-component vector of float)
 | 
						|
0:33        Color: direct index for structure (temp 4-component vector of float)
 | 
						|
0:33          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:33          Constant:
 | 
						|
0:33            0 (const int)
 | 
						|
0:33        Constant:
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:33          1.000000
 | 
						|
0:34      move second child to first child (temp float)
 | 
						|
0:34        Depth: direct index for structure (temp float FragDepth)
 | 
						|
0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:34          Constant:
 | 
						|
0:34            1 (const int)
 | 
						|
0:34        Constant:
 | 
						|
0:34          1.000000
 | 
						|
0:36      Branch: Return with expression
 | 
						|
0:36        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_sSamp' (uniform sampler)
 | 
						|
0:?     'g_tTex1df4a' (uniform texture1DArray)
 | 
						|
0:?     'g_tTex1df4' (uniform texture1DArray)
 | 
						|
0:?     'g_tTex1di4' (uniform itexture1DArray)
 | 
						|
0:?     'g_tTex1du4' (uniform utexture1DArray)
 | 
						|
0:?     'g_tTex2df4' (uniform texture2DArray)
 | 
						|
0:?     'g_tTex2di4' (uniform itexture2DArray)
 | 
						|
0:?     'g_tTex2du4' (uniform utexture2DArray)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 80001
 | 
						|
// Id's are bound by 104
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
                              Capability Sampled1D
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main"
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              Source HLSL 450
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 9  "txval10"
 | 
						|
                              Name 12  "g_tTex1df4"
 | 
						|
                              Name 16  "g_sSamp"
 | 
						|
                              Name 29  "txval11"
 | 
						|
                              Name 32  "g_tTex1di4"
 | 
						|
                              Name 44  "txval12"
 | 
						|
                              Name 47  "g_tTex1du4"
 | 
						|
                              Name 56  "txval20"
 | 
						|
                              Name 59  "g_tTex2df4"
 | 
						|
                              Name 69  "txval21"
 | 
						|
                              Name 72  "g_tTex2di4"
 | 
						|
                              Name 80  "txval22"
 | 
						|
                              Name 83  "g_tTex2du4"
 | 
						|
                              Name 93  "PS_OUTPUT"
 | 
						|
                              MemberName 93(PS_OUTPUT) 0  "Color"
 | 
						|
                              MemberName 93(PS_OUTPUT) 1  "Depth"
 | 
						|
                              Name 95  "psout"
 | 
						|
                              Name 103  "g_tTex1df4a"
 | 
						|
                              Decorate 12(g_tTex1df4) DescriptorSet 0
 | 
						|
                              Decorate 16(g_sSamp) DescriptorSet 0
 | 
						|
                              Decorate 32(g_tTex1di4) DescriptorSet 0
 | 
						|
                              Decorate 47(g_tTex1du4) DescriptorSet 0
 | 
						|
                              Decorate 59(g_tTex2df4) DescriptorSet 0
 | 
						|
                              Decorate 72(g_tTex2di4) DescriptorSet 0
 | 
						|
                              Decorate 83(g_tTex2du4) DescriptorSet 0
 | 
						|
                              MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth
 | 
						|
                              Decorate 103(g_tTex1df4a) DescriptorSet 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
               8:             TypePointer Function 7(fvec4)
 | 
						|
              10:             TypeImage 6(float) 1D array sampled format:Unknown
 | 
						|
              11:             TypePointer UniformConstant 10
 | 
						|
  12(g_tTex1df4):     11(ptr) Variable UniformConstant
 | 
						|
              14:             TypeSampler
 | 
						|
              15:             TypePointer UniformConstant 14
 | 
						|
     16(g_sSamp):     15(ptr) Variable UniformConstant
 | 
						|
              18:             TypeSampledImage 10
 | 
						|
              20:             TypeVector 6(float) 2
 | 
						|
              21:    6(float) Constant 1036831949
 | 
						|
              22:    6(float) Constant 1045220557
 | 
						|
              23:   20(fvec2) ConstantComposite 21 22
 | 
						|
              24:             TypeInt 32 1
 | 
						|
              25:     24(int) Constant 0
 | 
						|
              27:             TypeVector 24(int) 4
 | 
						|
              28:             TypePointer Function 27(ivec4)
 | 
						|
              30:             TypeImage 24(int) 1D array sampled format:Unknown
 | 
						|
              31:             TypePointer UniformConstant 30
 | 
						|
  32(g_tTex1di4):     31(ptr) Variable UniformConstant
 | 
						|
              35:             TypeSampledImage 30
 | 
						|
              37:    6(float) Constant 1050253722
 | 
						|
              38:   20(fvec2) ConstantComposite 22 37
 | 
						|
              39:     24(int) Constant 1
 | 
						|
              41:             TypeInt 32 0
 | 
						|
              42:             TypeVector 41(int) 4
 | 
						|
              43:             TypePointer Function 42(ivec4)
 | 
						|
              45:             TypeImage 41(int) 1D array sampled format:Unknown
 | 
						|
              46:             TypePointer UniformConstant 45
 | 
						|
  47(g_tTex1du4):     46(ptr) Variable UniformConstant
 | 
						|
              50:             TypeSampledImage 45
 | 
						|
              52:    6(float) Constant 1053609165
 | 
						|
              53:   20(fvec2) ConstantComposite 37 52
 | 
						|
              54:     24(int) Constant 2
 | 
						|
              57:             TypeImage 6(float) 2D array sampled format:Unknown
 | 
						|
              58:             TypePointer UniformConstant 57
 | 
						|
  59(g_tTex2df4):     58(ptr) Variable UniformConstant
 | 
						|
              62:             TypeSampledImage 57
 | 
						|
              64:             TypeVector 6(float) 3
 | 
						|
              65:   64(fvec3) ConstantComposite 21 22 37
 | 
						|
              66:             TypeVector 24(int) 2
 | 
						|
              67:   66(ivec2) ConstantComposite 25 25
 | 
						|
              70:             TypeImage 24(int) 2D array sampled format:Unknown
 | 
						|
              71:             TypePointer UniformConstant 70
 | 
						|
  72(g_tTex2di4):     71(ptr) Variable UniformConstant
 | 
						|
              75:             TypeSampledImage 70
 | 
						|
              77:    6(float) Constant 1056964608
 | 
						|
              78:   64(fvec3) ConstantComposite 37 52 77
 | 
						|
              81:             TypeImage 41(int) 2D array sampled format:Unknown
 | 
						|
              82:             TypePointer UniformConstant 81
 | 
						|
  83(g_tTex2du4):     82(ptr) Variable UniformConstant
 | 
						|
              86:             TypeSampledImage 81
 | 
						|
              88:    6(float) Constant 1058642330
 | 
						|
              89:    6(float) Constant 1060320051
 | 
						|
              90:   64(fvec3) ConstantComposite 77 88 89
 | 
						|
              91:   66(ivec2) ConstantComposite 25 39
 | 
						|
   93(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
 | 
						|
              94:             TypePointer Function 93(PS_OUTPUT)
 | 
						|
              96:    6(float) Constant 1065353216
 | 
						|
              97:    7(fvec4) ConstantComposite 96 96 96 96
 | 
						|
              99:             TypePointer Function 6(float)
 | 
						|
103(g_tTex1df4a):     11(ptr) Variable UniformConstant
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
      9(txval10):      8(ptr) Variable Function
 | 
						|
     29(txval11):     28(ptr) Variable Function
 | 
						|
     44(txval12):     43(ptr) Variable Function
 | 
						|
     56(txval20):      8(ptr) Variable Function
 | 
						|
     69(txval21):     28(ptr) Variable Function
 | 
						|
     80(txval22):     43(ptr) Variable Function
 | 
						|
       95(psout):     94(ptr) Variable Function
 | 
						|
              13:          10 Load 12(g_tTex1df4)
 | 
						|
              17:          14 Load 16(g_sSamp)
 | 
						|
              19:          18 SampledImage 13 17
 | 
						|
              26:    7(fvec4) ImageSampleImplicitLod 19 23 ConstOffset 25
 | 
						|
                              Store 9(txval10) 26
 | 
						|
              33:          30 Load 32(g_tTex1di4)
 | 
						|
              34:          14 Load 16(g_sSamp)
 | 
						|
              36:          35 SampledImage 33 34
 | 
						|
              40:   27(ivec4) ImageSampleImplicitLod 36 38 ConstOffset 39
 | 
						|
                              Store 29(txval11) 40
 | 
						|
              48:          45 Load 47(g_tTex1du4)
 | 
						|
              49:          14 Load 16(g_sSamp)
 | 
						|
              51:          50 SampledImage 48 49
 | 
						|
              55:   42(ivec4) ImageSampleImplicitLod 51 53 ConstOffset 54
 | 
						|
                              Store 44(txval12) 55
 | 
						|
              60:          57 Load 59(g_tTex2df4)
 | 
						|
              61:          14 Load 16(g_sSamp)
 | 
						|
              63:          62 SampledImage 60 61
 | 
						|
              68:    7(fvec4) ImageSampleImplicitLod 63 65 ConstOffset 67
 | 
						|
                              Store 56(txval20) 68
 | 
						|
              73:          70 Load 72(g_tTex2di4)
 | 
						|
              74:          14 Load 16(g_sSamp)
 | 
						|
              76:          75 SampledImage 73 74
 | 
						|
              79:   27(ivec4) ImageSampleImplicitLod 76 78 ConstOffset 67
 | 
						|
                              Store 69(txval21) 79
 | 
						|
              84:          81 Load 83(g_tTex2du4)
 | 
						|
              85:          14 Load 16(g_sSamp)
 | 
						|
              87:          86 SampledImage 84 85
 | 
						|
              92:   42(ivec4) ImageSampleImplicitLod 87 90 ConstOffset 91
 | 
						|
                              Store 80(txval22) 92
 | 
						|
              98:      8(ptr) AccessChain 95(psout) 25
 | 
						|
                              Store 98 97
 | 
						|
             100:     99(ptr) AccessChain 95(psout) 39
 | 
						|
                              Store 100 96
 | 
						|
             101:93(PS_OUTPUT) Load 95(psout)
 | 
						|
                              ReturnValue 101
 | 
						|
                              FunctionEnd
 |