Merge branch 'master' of https://github.com/dankbaker/glslang
This commit is contained in:
		
						commit
						349ac3df86
					
				
							
								
								
									
										884
									
								
								Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										884
									
								
								Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,884 @@
 | 
				
			|||||||
 | 
					hlsl.gatherRGBA.array.dx10.frag
 | 
				
			||||||
 | 
					Shader version: 450
 | 
				
			||||||
 | 
					gl_FragCoord origin is upper left
 | 
				
			||||||
 | 
					0:? Sequence
 | 
				
			||||||
 | 
					0:72  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:28    Function Parameters: 
 | 
				
			||||||
 | 
					0:?     Sequence
 | 
				
			||||||
 | 
					0:33      Sequence
 | 
				
			||||||
 | 
					0:33        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:33          'txval00' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:33          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:33            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:33              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:33            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:33            Constant:
 | 
				
			||||||
 | 
					0:33              0 (const int)
 | 
				
			||||||
 | 
					0:34      Sequence
 | 
				
			||||||
 | 
					0:34        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:34          'txval01' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:34          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:34            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:34              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:34            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:34            Constant:
 | 
				
			||||||
 | 
					0:34              0 (const int)
 | 
				
			||||||
 | 
					0:35      Sequence
 | 
				
			||||||
 | 
					0:35        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35          'txval02' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:35              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:35            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:35            Constant:
 | 
				
			||||||
 | 
					0:35              0 (const int)
 | 
				
			||||||
 | 
					0:37      Sequence
 | 
				
			||||||
 | 
					0:37        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:37          'txval10' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:37          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:37            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:37              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:37            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:37            Constant:
 | 
				
			||||||
 | 
					0:37              1 (const int)
 | 
				
			||||||
 | 
					0:38      Sequence
 | 
				
			||||||
 | 
					0:38        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:38          'txval11' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:38          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:38            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:38              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:38            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:38            Constant:
 | 
				
			||||||
 | 
					0:38              1 (const int)
 | 
				
			||||||
 | 
					0:39      Sequence
 | 
				
			||||||
 | 
					0:39        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39          'txval12' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:39              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:39            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:39            Constant:
 | 
				
			||||||
 | 
					0:39              1 (const int)
 | 
				
			||||||
 | 
					0:41      Sequence
 | 
				
			||||||
 | 
					0:41        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:41          'txval20' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:41          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:41            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:41              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:41            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:41            Constant:
 | 
				
			||||||
 | 
					0:41              2 (const int)
 | 
				
			||||||
 | 
					0:42      Sequence
 | 
				
			||||||
 | 
					0:42        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:42          'txval21' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:42          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:42            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:42              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:42            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:42            Constant:
 | 
				
			||||||
 | 
					0:42              2 (const int)
 | 
				
			||||||
 | 
					0:43      Sequence
 | 
				
			||||||
 | 
					0:43        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43          'txval22' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:43              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:43            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:43            Constant:
 | 
				
			||||||
 | 
					0:43              2 (const int)
 | 
				
			||||||
 | 
					0:45      Sequence
 | 
				
			||||||
 | 
					0:45        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:45          'txval30' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:45          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:45            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:45              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:45            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:45            Constant:
 | 
				
			||||||
 | 
					0:45              3 (const int)
 | 
				
			||||||
 | 
					0:46      Sequence
 | 
				
			||||||
 | 
					0:46        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:46          'txval31' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:46          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:46            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:46              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:46            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:46            Constant:
 | 
				
			||||||
 | 
					0:46              3 (const int)
 | 
				
			||||||
 | 
					0:47      Sequence
 | 
				
			||||||
 | 
					0:47        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47          'txval32' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:47              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:47            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:47            Constant:
 | 
				
			||||||
 | 
					0:47              3 (const int)
 | 
				
			||||||
 | 
					0:51      Sequence
 | 
				
			||||||
 | 
					0:51        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          'txval40' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:51              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:51            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Constant:
 | 
				
			||||||
 | 
					0:51              0 (const int)
 | 
				
			||||||
 | 
					0:52      Sequence
 | 
				
			||||||
 | 
					0:52        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          'txval41' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:52            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:52            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:52            Constant:
 | 
				
			||||||
 | 
					0:52              0 (const int)
 | 
				
			||||||
 | 
					0:53      Sequence
 | 
				
			||||||
 | 
					0:53        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          'txval42' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:53            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:53            Constant:
 | 
				
			||||||
 | 
					0:53              0 (const int)
 | 
				
			||||||
 | 
					0:55      Sequence
 | 
				
			||||||
 | 
					0:55        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:55          'txval50' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:55          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:55            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:55              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:55            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:55            Constant:
 | 
				
			||||||
 | 
					0:55              1 (const int)
 | 
				
			||||||
 | 
					0:56      Sequence
 | 
				
			||||||
 | 
					0:56        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:56          'txval51' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:56          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:56            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:56            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:56            Constant:
 | 
				
			||||||
 | 
					0:56              1 (const int)
 | 
				
			||||||
 | 
					0:57      Sequence
 | 
				
			||||||
 | 
					0:57        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57          'txval52' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:57            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:57            Constant:
 | 
				
			||||||
 | 
					0:57              1 (const int)
 | 
				
			||||||
 | 
					0:59      Sequence
 | 
				
			||||||
 | 
					0:59        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:59          'txval60' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:59          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:59            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:59              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:59            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:59            Constant:
 | 
				
			||||||
 | 
					0:59              2 (const int)
 | 
				
			||||||
 | 
					0:60      Sequence
 | 
				
			||||||
 | 
					0:60        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:60          'txval61' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:60          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:60            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:60            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:60            Constant:
 | 
				
			||||||
 | 
					0:60              2 (const int)
 | 
				
			||||||
 | 
					0:61      Sequence
 | 
				
			||||||
 | 
					0:61        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61          'txval62' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:61            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:61            Constant:
 | 
				
			||||||
 | 
					0:61              2 (const int)
 | 
				
			||||||
 | 
					0:63      Sequence
 | 
				
			||||||
 | 
					0:63        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:63          'txval70' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:63          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:63            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:63              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:63            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:63            Constant:
 | 
				
			||||||
 | 
					0:63              3 (const int)
 | 
				
			||||||
 | 
					0:64      Sequence
 | 
				
			||||||
 | 
					0:64        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:64          'txval71' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:64          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:64            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:64            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:64            Constant:
 | 
				
			||||||
 | 
					0:64              3 (const int)
 | 
				
			||||||
 | 
					0:65      Sequence
 | 
				
			||||||
 | 
					0:65        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65          'txval72' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:65            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:65            Constant:
 | 
				
			||||||
 | 
					0:65              3 (const int)
 | 
				
			||||||
 | 
					0:67      move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:67        Color: direct index for structure (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:67          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:67          Constant:
 | 
				
			||||||
 | 
					0:67            0 (const int)
 | 
				
			||||||
 | 
					0:67        Constant:
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:68      move second child to first child (temp float)
 | 
				
			||||||
 | 
					0:68        Depth: direct index for structure (temp float FragDepth)
 | 
				
			||||||
 | 
					0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:68          Constant:
 | 
				
			||||||
 | 
					0:68            1 (const int)
 | 
				
			||||||
 | 
					0:68        Constant:
 | 
				
			||||||
 | 
					0:68          1.000000
 | 
				
			||||||
 | 
					0:70      Branch: Return with expression
 | 
				
			||||||
 | 
					0:70        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:?   Linker Objects
 | 
				
			||||||
 | 
					0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_sSamp2d' (uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex1di4a' (uniform itexture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex1du4a' (uniform utexture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:?     'c1' (uniform float)
 | 
				
			||||||
 | 
					0:?     'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Linked fragment stage:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader version: 450
 | 
				
			||||||
 | 
					gl_FragCoord origin is upper left
 | 
				
			||||||
 | 
					0:? Sequence
 | 
				
			||||||
 | 
					0:72  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:28    Function Parameters: 
 | 
				
			||||||
 | 
					0:?     Sequence
 | 
				
			||||||
 | 
					0:33      Sequence
 | 
				
			||||||
 | 
					0:33        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:33          'txval00' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:33          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:33            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:33              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:33            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:33            Constant:
 | 
				
			||||||
 | 
					0:33              0 (const int)
 | 
				
			||||||
 | 
					0:34      Sequence
 | 
				
			||||||
 | 
					0:34        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:34          'txval01' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:34          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:34            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:34              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:34            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:34            Constant:
 | 
				
			||||||
 | 
					0:34              0 (const int)
 | 
				
			||||||
 | 
					0:35      Sequence
 | 
				
			||||||
 | 
					0:35        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35          'txval02' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:35            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:35              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:35            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:35            Constant:
 | 
				
			||||||
 | 
					0:35              0 (const int)
 | 
				
			||||||
 | 
					0:37      Sequence
 | 
				
			||||||
 | 
					0:37        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:37          'txval10' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:37          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:37            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:37              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:37            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:37            Constant:
 | 
				
			||||||
 | 
					0:37              1 (const int)
 | 
				
			||||||
 | 
					0:38      Sequence
 | 
				
			||||||
 | 
					0:38        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:38          'txval11' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:38          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:38            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:38              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:38            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:38            Constant:
 | 
				
			||||||
 | 
					0:38              1 (const int)
 | 
				
			||||||
 | 
					0:39      Sequence
 | 
				
			||||||
 | 
					0:39        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39          'txval12' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:39            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:39              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:39            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:39            Constant:
 | 
				
			||||||
 | 
					0:39              1 (const int)
 | 
				
			||||||
 | 
					0:41      Sequence
 | 
				
			||||||
 | 
					0:41        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:41          'txval20' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:41          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:41            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:41              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:41            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:41            Constant:
 | 
				
			||||||
 | 
					0:41              2 (const int)
 | 
				
			||||||
 | 
					0:42      Sequence
 | 
				
			||||||
 | 
					0:42        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:42          'txval21' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:42          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:42            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:42              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:42            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:42            Constant:
 | 
				
			||||||
 | 
					0:42              2 (const int)
 | 
				
			||||||
 | 
					0:43      Sequence
 | 
				
			||||||
 | 
					0:43        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43          'txval22' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:43            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:43              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:43            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:43            Constant:
 | 
				
			||||||
 | 
					0:43              2 (const int)
 | 
				
			||||||
 | 
					0:45      Sequence
 | 
				
			||||||
 | 
					0:45        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:45          'txval30' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:45          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:45            Construct combined texture-sampler (temp sampler2DArray)
 | 
				
			||||||
 | 
					0:45              'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:45            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:45            Constant:
 | 
				
			||||||
 | 
					0:45              3 (const int)
 | 
				
			||||||
 | 
					0:46      Sequence
 | 
				
			||||||
 | 
					0:46        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:46          'txval31' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:46          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:46            Construct combined texture-sampler (temp isampler2DArray)
 | 
				
			||||||
 | 
					0:46              'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:46            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:46            Constant:
 | 
				
			||||||
 | 
					0:46              3 (const int)
 | 
				
			||||||
 | 
					0:47      Sequence
 | 
				
			||||||
 | 
					0:47        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47          'txval32' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:47            Construct combined texture-sampler (temp usampler2DArray)
 | 
				
			||||||
 | 
					0:47              'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:47            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:47            Constant:
 | 
				
			||||||
 | 
					0:47              3 (const int)
 | 
				
			||||||
 | 
					0:51      Sequence
 | 
				
			||||||
 | 
					0:51        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          'txval40' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:51              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:51            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Constant:
 | 
				
			||||||
 | 
					0:51              0 (const int)
 | 
				
			||||||
 | 
					0:52      Sequence
 | 
				
			||||||
 | 
					0:52        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          'txval41' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:52            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:52            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:52            Constant:
 | 
				
			||||||
 | 
					0:52              0 (const int)
 | 
				
			||||||
 | 
					0:53      Sequence
 | 
				
			||||||
 | 
					0:53        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          'txval42' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:53            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:53            Constant:
 | 
				
			||||||
 | 
					0:53              0 (const int)
 | 
				
			||||||
 | 
					0:55      Sequence
 | 
				
			||||||
 | 
					0:55        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:55          'txval50' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:55          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:55            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:55              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:55            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:55            Constant:
 | 
				
			||||||
 | 
					0:55              1 (const int)
 | 
				
			||||||
 | 
					0:56      Sequence
 | 
				
			||||||
 | 
					0:56        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:56          'txval51' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:56          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:56            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:56            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:56            Constant:
 | 
				
			||||||
 | 
					0:56              1 (const int)
 | 
				
			||||||
 | 
					0:57      Sequence
 | 
				
			||||||
 | 
					0:57        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57          'txval52' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:57            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:57            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:57            Constant:
 | 
				
			||||||
 | 
					0:57              1 (const int)
 | 
				
			||||||
 | 
					0:59      Sequence
 | 
				
			||||||
 | 
					0:59        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:59          'txval60' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:59          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:59            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:59              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:59            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:59            Constant:
 | 
				
			||||||
 | 
					0:59              2 (const int)
 | 
				
			||||||
 | 
					0:60      Sequence
 | 
				
			||||||
 | 
					0:60        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:60          'txval61' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:60          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:60            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:60            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:60            Constant:
 | 
				
			||||||
 | 
					0:60              2 (const int)
 | 
				
			||||||
 | 
					0:61      Sequence
 | 
				
			||||||
 | 
					0:61        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61          'txval62' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:61            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:61            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:61            Constant:
 | 
				
			||||||
 | 
					0:61              2 (const int)
 | 
				
			||||||
 | 
					0:63      Sequence
 | 
				
			||||||
 | 
					0:63        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:63          'txval70' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:63          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:63            Construct combined texture-sampler (temp samplerCubeArray)
 | 
				
			||||||
 | 
					0:63              'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:63            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:63            Constant:
 | 
				
			||||||
 | 
					0:63              3 (const int)
 | 
				
			||||||
 | 
					0:64      Sequence
 | 
				
			||||||
 | 
					0:64        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:64          'txval71' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:64          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:64            Construct combined texture-sampler (temp isamplerCubeArray)
 | 
				
			||||||
 | 
					0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:64            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:64            Constant:
 | 
				
			||||||
 | 
					0:64              3 (const int)
 | 
				
			||||||
 | 
					0:65      Sequence
 | 
				
			||||||
 | 
					0:65        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65          'txval72' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:65            Construct combined texture-sampler (temp usamplerCubeArray)
 | 
				
			||||||
 | 
					0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:65            'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					0:65            Constant:
 | 
				
			||||||
 | 
					0:65              3 (const int)
 | 
				
			||||||
 | 
					0:67      move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:67        Color: direct index for structure (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:67          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:67          Constant:
 | 
				
			||||||
 | 
					0:67            0 (const int)
 | 
				
			||||||
 | 
					0:67        Constant:
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:67          1.000000
 | 
				
			||||||
 | 
					0:68      move second child to first child (temp float)
 | 
				
			||||||
 | 
					0:68        Depth: direct index for structure (temp float FragDepth)
 | 
				
			||||||
 | 
					0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:68          Constant:
 | 
				
			||||||
 | 
					0:68            1 (const int)
 | 
				
			||||||
 | 
					0:68        Constant:
 | 
				
			||||||
 | 
					0:68          1.000000
 | 
				
			||||||
 | 
					0:70      Branch: Return with expression
 | 
				
			||||||
 | 
					0:70        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:?   Linker Objects
 | 
				
			||||||
 | 
					0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_sSamp2d' (uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex1di4a' (uniform itexture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex1du4a' (uniform utexture1DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2df4a' (uniform texture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2di4a' (uniform itexture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTex2du4a' (uniform utexture2DArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
 | 
				
			||||||
 | 
					0:?     'c1' (uniform float)
 | 
				
			||||||
 | 
					0:?     'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Module Version 10000
 | 
				
			||||||
 | 
					// Generated by (magic number): 80001
 | 
				
			||||||
 | 
					// Id's are bound by 220
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              Capability Shader
 | 
				
			||||||
 | 
					                              Capability Sampled1D
 | 
				
			||||||
 | 
					                              Capability SampledCubeArray
 | 
				
			||||||
 | 
					               1:             ExtInstImport  "GLSL.std.450"
 | 
				
			||||||
 | 
					                              MemoryModel Logical GLSL450
 | 
				
			||||||
 | 
					                              EntryPoint Fragment 4  "main"
 | 
				
			||||||
 | 
					                              ExecutionMode 4 OriginUpperLeft
 | 
				
			||||||
 | 
					                              Source HLSL 450
 | 
				
			||||||
 | 
					                              Name 4  "main"
 | 
				
			||||||
 | 
					                              Name 9  "txval00"
 | 
				
			||||||
 | 
					                              Name 12  "g_tTex2df4a"
 | 
				
			||||||
 | 
					                              Name 16  "g_sSamp"
 | 
				
			||||||
 | 
					                              Name 22  "c3"
 | 
				
			||||||
 | 
					                              Name 29  "txval01"
 | 
				
			||||||
 | 
					                              Name 32  "g_tTex2di4a"
 | 
				
			||||||
 | 
					                              Name 42  "txval02"
 | 
				
			||||||
 | 
					                              Name 45  "g_tTex2du4a"
 | 
				
			||||||
 | 
					                              Name 52  "txval10"
 | 
				
			||||||
 | 
					                              Name 59  "txval11"
 | 
				
			||||||
 | 
					                              Name 65  "txval12"
 | 
				
			||||||
 | 
					                              Name 71  "txval20"
 | 
				
			||||||
 | 
					                              Name 78  "txval21"
 | 
				
			||||||
 | 
					                              Name 84  "txval22"
 | 
				
			||||||
 | 
					                              Name 90  "txval30"
 | 
				
			||||||
 | 
					                              Name 97  "txval31"
 | 
				
			||||||
 | 
					                              Name 103  "txval32"
 | 
				
			||||||
 | 
					                              Name 109  "txval40"
 | 
				
			||||||
 | 
					                              Name 112  "g_tTexcdf4a"
 | 
				
			||||||
 | 
					                              Name 118  "c4"
 | 
				
			||||||
 | 
					                              Name 121  "txval41"
 | 
				
			||||||
 | 
					                              Name 124  "g_tTexcdi4a"
 | 
				
			||||||
 | 
					                              Name 131  "txval42"
 | 
				
			||||||
 | 
					                              Name 134  "g_tTexcdu4a"
 | 
				
			||||||
 | 
					                              Name 141  "txval50"
 | 
				
			||||||
 | 
					                              Name 147  "txval51"
 | 
				
			||||||
 | 
					                              Name 153  "txval52"
 | 
				
			||||||
 | 
					                              Name 159  "txval60"
 | 
				
			||||||
 | 
					                              Name 165  "txval61"
 | 
				
			||||||
 | 
					                              Name 171  "txval62"
 | 
				
			||||||
 | 
					                              Name 177  "txval70"
 | 
				
			||||||
 | 
					                              Name 183  "txval71"
 | 
				
			||||||
 | 
					                              Name 189  "txval72"
 | 
				
			||||||
 | 
					                              Name 195  "PS_OUTPUT"
 | 
				
			||||||
 | 
					                              MemberName 195(PS_OUTPUT) 0  "Color"
 | 
				
			||||||
 | 
					                              MemberName 195(PS_OUTPUT) 1  "Depth"
 | 
				
			||||||
 | 
					                              Name 197  "psout"
 | 
				
			||||||
 | 
					                              Name 205  "g_sSamp2d"
 | 
				
			||||||
 | 
					                              Name 208  "g_tTex1df4a"
 | 
				
			||||||
 | 
					                              Name 211  "g_tTex1di4a"
 | 
				
			||||||
 | 
					                              Name 214  "g_tTex1du4a"
 | 
				
			||||||
 | 
					                              Name 216  "c1"
 | 
				
			||||||
 | 
					                              Name 219  "c2"
 | 
				
			||||||
 | 
					                              Decorate 12(g_tTex2df4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 16(g_sSamp) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 16(g_sSamp) Binding 0
 | 
				
			||||||
 | 
					                              Decorate 32(g_tTex2di4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 45(g_tTex2du4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 112(g_tTexcdf4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 124(g_tTexcdi4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 134(g_tTexcdu4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              MemberDecorate 195(PS_OUTPUT) 1 BuiltIn FragDepth
 | 
				
			||||||
 | 
					                              Decorate 205(g_sSamp2d) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 208(g_tTex1df4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 208(g_tTex1df4a) Binding 0
 | 
				
			||||||
 | 
					                              Decorate 211(g_tTex1di4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 214(g_tTex1du4a) DescriptorSet 0
 | 
				
			||||||
 | 
					               2:             TypeVoid
 | 
				
			||||||
 | 
					               3:             TypeFunction 2
 | 
				
			||||||
 | 
					               6:             TypeFloat 32
 | 
				
			||||||
 | 
					               7:             TypeVector 6(float) 4
 | 
				
			||||||
 | 
					               8:             TypePointer Function 7(fvec4)
 | 
				
			||||||
 | 
					              10:             TypeImage 6(float) 2D array sampled format:Unknown
 | 
				
			||||||
 | 
					              11:             TypePointer UniformConstant 10
 | 
				
			||||||
 | 
					 12(g_tTex2df4a):     11(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              14:             TypeSampler
 | 
				
			||||||
 | 
					              15:             TypePointer UniformConstant 14
 | 
				
			||||||
 | 
					     16(g_sSamp):     15(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              18:             TypeSampledImage 10
 | 
				
			||||||
 | 
					              20:             TypeVector 6(float) 3
 | 
				
			||||||
 | 
					              21:             TypePointer UniformConstant 20(fvec3)
 | 
				
			||||||
 | 
					          22(c3):     21(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              24:             TypeInt 32 1
 | 
				
			||||||
 | 
					              25:     24(int) Constant 0
 | 
				
			||||||
 | 
					              27:             TypeVector 24(int) 4
 | 
				
			||||||
 | 
					              28:             TypePointer Function 27(ivec4)
 | 
				
			||||||
 | 
					              30:             TypeImage 24(int) 2D array sampled format:Unknown
 | 
				
			||||||
 | 
					              31:             TypePointer UniformConstant 30
 | 
				
			||||||
 | 
					 32(g_tTex2di4a):     31(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              35:             TypeSampledImage 30
 | 
				
			||||||
 | 
					              39:             TypeInt 32 0
 | 
				
			||||||
 | 
					              40:             TypeVector 39(int) 4
 | 
				
			||||||
 | 
					              41:             TypePointer Function 40(ivec4)
 | 
				
			||||||
 | 
					              43:             TypeImage 39(int) 2D array sampled format:Unknown
 | 
				
			||||||
 | 
					              44:             TypePointer UniformConstant 43
 | 
				
			||||||
 | 
					 45(g_tTex2du4a):     44(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              48:             TypeSampledImage 43
 | 
				
			||||||
 | 
					              57:     24(int) Constant 1
 | 
				
			||||||
 | 
					              76:     24(int) Constant 2
 | 
				
			||||||
 | 
					              95:     24(int) Constant 3
 | 
				
			||||||
 | 
					             110:             TypeImage 6(float) Cube array sampled format:Unknown
 | 
				
			||||||
 | 
					             111:             TypePointer UniformConstant 110
 | 
				
			||||||
 | 
					112(g_tTexcdf4a):    111(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             115:             TypeSampledImage 110
 | 
				
			||||||
 | 
					             117:             TypePointer UniformConstant 7(fvec4)
 | 
				
			||||||
 | 
					         118(c4):    117(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             122:             TypeImage 24(int) Cube array sampled format:Unknown
 | 
				
			||||||
 | 
					             123:             TypePointer UniformConstant 122
 | 
				
			||||||
 | 
					124(g_tTexcdi4a):    123(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             127:             TypeSampledImage 122
 | 
				
			||||||
 | 
					             132:             TypeImage 39(int) Cube array sampled format:Unknown
 | 
				
			||||||
 | 
					             133:             TypePointer UniformConstant 132
 | 
				
			||||||
 | 
					134(g_tTexcdu4a):    133(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             137:             TypeSampledImage 132
 | 
				
			||||||
 | 
					  195(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
 | 
				
			||||||
 | 
					             196:             TypePointer Function 195(PS_OUTPUT)
 | 
				
			||||||
 | 
					             198:    6(float) Constant 1065353216
 | 
				
			||||||
 | 
					             199:    7(fvec4) ConstantComposite 198 198 198 198
 | 
				
			||||||
 | 
					             201:             TypePointer Function 6(float)
 | 
				
			||||||
 | 
					  205(g_sSamp2d):     15(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             206:             TypeImage 6(float) 1D array sampled format:Unknown
 | 
				
			||||||
 | 
					             207:             TypePointer UniformConstant 206
 | 
				
			||||||
 | 
					208(g_tTex1df4a):    207(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             209:             TypeImage 24(int) 1D array sampled format:Unknown
 | 
				
			||||||
 | 
					             210:             TypePointer UniformConstant 209
 | 
				
			||||||
 | 
					211(g_tTex1di4a):    210(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             212:             TypeImage 39(int) 1D array sampled format:Unknown
 | 
				
			||||||
 | 
					             213:             TypePointer UniformConstant 212
 | 
				
			||||||
 | 
					214(g_tTex1du4a):    213(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             215:             TypePointer UniformConstant 6(float)
 | 
				
			||||||
 | 
					         216(c1):    215(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             217:             TypeVector 6(float) 2
 | 
				
			||||||
 | 
					             218:             TypePointer UniformConstant 217(fvec2)
 | 
				
			||||||
 | 
					         219(c2):    218(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					         4(main):           2 Function None 3
 | 
				
			||||||
 | 
					               5:             Label
 | 
				
			||||||
 | 
					      9(txval00):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     29(txval01):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     42(txval02):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     52(txval10):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     59(txval11):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     65(txval12):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     71(txval20):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     78(txval21):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     84(txval22):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     90(txval30):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     97(txval31):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    103(txval32):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    109(txval40):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    121(txval41):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    131(txval42):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    141(txval50):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    147(txval51):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    153(txval52):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    159(txval60):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    165(txval61):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    171(txval62):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    177(txval70):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    183(txval71):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    189(txval72):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					      197(psout):    196(ptr) Variable Function
 | 
				
			||||||
 | 
					              13:          10 Load 12(g_tTex2df4a)
 | 
				
			||||||
 | 
					              17:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              19:          18 SampledImage 13 17
 | 
				
			||||||
 | 
					              23:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              26:    7(fvec4) ImageGather 19 23 25
 | 
				
			||||||
 | 
					                              Store 9(txval00) 26
 | 
				
			||||||
 | 
					              33:          30 Load 32(g_tTex2di4a)
 | 
				
			||||||
 | 
					              34:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              36:          35 SampledImage 33 34
 | 
				
			||||||
 | 
					              37:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              38:   27(ivec4) ImageGather 36 37 25
 | 
				
			||||||
 | 
					                              Store 29(txval01) 38
 | 
				
			||||||
 | 
					              46:          43 Load 45(g_tTex2du4a)
 | 
				
			||||||
 | 
					              47:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              49:          48 SampledImage 46 47
 | 
				
			||||||
 | 
					              50:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              51:   40(ivec4) ImageGather 49 50 25
 | 
				
			||||||
 | 
					                              Store 42(txval02) 51
 | 
				
			||||||
 | 
					              53:          10 Load 12(g_tTex2df4a)
 | 
				
			||||||
 | 
					              54:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              55:          18 SampledImage 53 54
 | 
				
			||||||
 | 
					              56:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              58:    7(fvec4) ImageGather 55 56 57
 | 
				
			||||||
 | 
					                              Store 52(txval10) 58
 | 
				
			||||||
 | 
					              60:          30 Load 32(g_tTex2di4a)
 | 
				
			||||||
 | 
					              61:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              62:          35 SampledImage 60 61
 | 
				
			||||||
 | 
					              63:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              64:   27(ivec4) ImageGather 62 63 57
 | 
				
			||||||
 | 
					                              Store 59(txval11) 64
 | 
				
			||||||
 | 
					              66:          43 Load 45(g_tTex2du4a)
 | 
				
			||||||
 | 
					              67:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              68:          48 SampledImage 66 67
 | 
				
			||||||
 | 
					              69:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              70:   40(ivec4) ImageGather 68 69 57
 | 
				
			||||||
 | 
					                              Store 65(txval12) 70
 | 
				
			||||||
 | 
					              72:          10 Load 12(g_tTex2df4a)
 | 
				
			||||||
 | 
					              73:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              74:          18 SampledImage 72 73
 | 
				
			||||||
 | 
					              75:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              77:    7(fvec4) ImageGather 74 75 76
 | 
				
			||||||
 | 
					                              Store 71(txval20) 77
 | 
				
			||||||
 | 
					              79:          30 Load 32(g_tTex2di4a)
 | 
				
			||||||
 | 
					              80:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              81:          35 SampledImage 79 80
 | 
				
			||||||
 | 
					              82:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              83:   27(ivec4) ImageGather 81 82 76
 | 
				
			||||||
 | 
					                              Store 78(txval21) 83
 | 
				
			||||||
 | 
					              85:          43 Load 45(g_tTex2du4a)
 | 
				
			||||||
 | 
					              86:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              87:          48 SampledImage 85 86
 | 
				
			||||||
 | 
					              88:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              89:   40(ivec4) ImageGather 87 88 76
 | 
				
			||||||
 | 
					                              Store 84(txval22) 89
 | 
				
			||||||
 | 
					              91:          10 Load 12(g_tTex2df4a)
 | 
				
			||||||
 | 
					              92:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              93:          18 SampledImage 91 92
 | 
				
			||||||
 | 
					              94:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					              96:    7(fvec4) ImageGather 93 94 95
 | 
				
			||||||
 | 
					                              Store 90(txval30) 96
 | 
				
			||||||
 | 
					              98:          30 Load 32(g_tTex2di4a)
 | 
				
			||||||
 | 
					              99:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             100:          35 SampledImage 98 99
 | 
				
			||||||
 | 
					             101:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					             102:   27(ivec4) ImageGather 100 101 95
 | 
				
			||||||
 | 
					                              Store 97(txval31) 102
 | 
				
			||||||
 | 
					             104:          43 Load 45(g_tTex2du4a)
 | 
				
			||||||
 | 
					             105:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             106:          48 SampledImage 104 105
 | 
				
			||||||
 | 
					             107:   20(fvec3) Load 22(c3)
 | 
				
			||||||
 | 
					             108:   40(ivec4) ImageGather 106 107 95
 | 
				
			||||||
 | 
					                              Store 103(txval32) 108
 | 
				
			||||||
 | 
					             113:         110 Load 112(g_tTexcdf4a)
 | 
				
			||||||
 | 
					             114:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             116:         115 SampledImage 113 114
 | 
				
			||||||
 | 
					             119:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             120:    7(fvec4) ImageGather 116 119 25
 | 
				
			||||||
 | 
					                              Store 109(txval40) 120
 | 
				
			||||||
 | 
					             125:         122 Load 124(g_tTexcdi4a)
 | 
				
			||||||
 | 
					             126:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             128:         127 SampledImage 125 126
 | 
				
			||||||
 | 
					             129:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             130:   27(ivec4) ImageGather 128 129 25
 | 
				
			||||||
 | 
					                              Store 121(txval41) 130
 | 
				
			||||||
 | 
					             135:         132 Load 134(g_tTexcdu4a)
 | 
				
			||||||
 | 
					             136:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             138:         137 SampledImage 135 136
 | 
				
			||||||
 | 
					             139:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             140:   40(ivec4) ImageGather 138 139 25
 | 
				
			||||||
 | 
					                              Store 131(txval42) 140
 | 
				
			||||||
 | 
					             142:         110 Load 112(g_tTexcdf4a)
 | 
				
			||||||
 | 
					             143:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             144:         115 SampledImage 142 143
 | 
				
			||||||
 | 
					             145:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             146:    7(fvec4) ImageGather 144 145 57
 | 
				
			||||||
 | 
					                              Store 141(txval50) 146
 | 
				
			||||||
 | 
					             148:         122 Load 124(g_tTexcdi4a)
 | 
				
			||||||
 | 
					             149:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             150:         127 SampledImage 148 149
 | 
				
			||||||
 | 
					             151:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             152:   27(ivec4) ImageGather 150 151 57
 | 
				
			||||||
 | 
					                              Store 147(txval51) 152
 | 
				
			||||||
 | 
					             154:         132 Load 134(g_tTexcdu4a)
 | 
				
			||||||
 | 
					             155:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             156:         137 SampledImage 154 155
 | 
				
			||||||
 | 
					             157:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             158:   40(ivec4) ImageGather 156 157 57
 | 
				
			||||||
 | 
					                              Store 153(txval52) 158
 | 
				
			||||||
 | 
					             160:         110 Load 112(g_tTexcdf4a)
 | 
				
			||||||
 | 
					             161:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             162:         115 SampledImage 160 161
 | 
				
			||||||
 | 
					             163:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             164:    7(fvec4) ImageGather 162 163 76
 | 
				
			||||||
 | 
					                              Store 159(txval60) 164
 | 
				
			||||||
 | 
					             166:         122 Load 124(g_tTexcdi4a)
 | 
				
			||||||
 | 
					             167:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             168:         127 SampledImage 166 167
 | 
				
			||||||
 | 
					             169:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             170:   27(ivec4) ImageGather 168 169 76
 | 
				
			||||||
 | 
					                              Store 165(txval61) 170
 | 
				
			||||||
 | 
					             172:         132 Load 134(g_tTexcdu4a)
 | 
				
			||||||
 | 
					             173:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             174:         137 SampledImage 172 173
 | 
				
			||||||
 | 
					             175:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             176:   40(ivec4) ImageGather 174 175 76
 | 
				
			||||||
 | 
					                              Store 171(txval62) 176
 | 
				
			||||||
 | 
					             178:         110 Load 112(g_tTexcdf4a)
 | 
				
			||||||
 | 
					             179:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             180:         115 SampledImage 178 179
 | 
				
			||||||
 | 
					             181:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             182:    7(fvec4) ImageGather 180 181 95
 | 
				
			||||||
 | 
					                              Store 177(txval70) 182
 | 
				
			||||||
 | 
					             184:         122 Load 124(g_tTexcdi4a)
 | 
				
			||||||
 | 
					             185:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             186:         127 SampledImage 184 185
 | 
				
			||||||
 | 
					             187:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             188:   27(ivec4) ImageGather 186 187 95
 | 
				
			||||||
 | 
					                              Store 183(txval71) 188
 | 
				
			||||||
 | 
					             190:         132 Load 134(g_tTexcdu4a)
 | 
				
			||||||
 | 
					             191:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             192:         137 SampledImage 190 191
 | 
				
			||||||
 | 
					             193:    7(fvec4) Load 118(c4)
 | 
				
			||||||
 | 
					             194:   40(ivec4) ImageGather 192 193 95
 | 
				
			||||||
 | 
					                              Store 189(txval72) 194
 | 
				
			||||||
 | 
					             200:      8(ptr) AccessChain 197(psout) 25
 | 
				
			||||||
 | 
					                              Store 200 199
 | 
				
			||||||
 | 
					             202:    201(ptr) AccessChain 197(psout) 57
 | 
				
			||||||
 | 
					                              Store 202 198
 | 
				
			||||||
 | 
					             203:195(PS_OUTPUT) Load 197(psout)
 | 
				
			||||||
 | 
					                              ReturnValue 203
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
							
								
								
									
										910
									
								
								Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										910
									
								
								Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,910 @@
 | 
				
			|||||||
 | 
					hlsl.gatherRGBA.basic.dx10.frag
 | 
				
			||||||
 | 
					Shader version: 450
 | 
				
			||||||
 | 
					gl_FragCoord origin is upper left
 | 
				
			||||||
 | 
					0:? Sequence
 | 
				
			||||||
 | 
					0:78  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:34    Function Parameters: 
 | 
				
			||||||
 | 
					0:?     Sequence
 | 
				
			||||||
 | 
					0:39      Sequence
 | 
				
			||||||
 | 
					0:39        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:39          'txval00' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:39          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:39            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:39              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:39            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:39            Constant:
 | 
				
			||||||
 | 
					0:39              0 (const int)
 | 
				
			||||||
 | 
					0:40      Sequence
 | 
				
			||||||
 | 
					0:40        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:40          'txval01' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:40          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:40            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:40              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:40            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:40            Constant:
 | 
				
			||||||
 | 
					0:40              0 (const int)
 | 
				
			||||||
 | 
					0:41      Sequence
 | 
				
			||||||
 | 
					0:41        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41          'txval02' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:41              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:41            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:41            Constant:
 | 
				
			||||||
 | 
					0:41              0 (const int)
 | 
				
			||||||
 | 
					0:43      Sequence
 | 
				
			||||||
 | 
					0:43        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:43          'txval10' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:43          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:43            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:43              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:43            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:43            Constant:
 | 
				
			||||||
 | 
					0:43              1 (const int)
 | 
				
			||||||
 | 
					0:44      Sequence
 | 
				
			||||||
 | 
					0:44        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:44          'txval11' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:44          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:44            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:44              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:44            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:44            Constant:
 | 
				
			||||||
 | 
					0:44              1 (const int)
 | 
				
			||||||
 | 
					0:45      Sequence
 | 
				
			||||||
 | 
					0:45        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45          'txval12' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:45              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:45            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:45            Constant:
 | 
				
			||||||
 | 
					0:45              1 (const int)
 | 
				
			||||||
 | 
					0:47      Sequence
 | 
				
			||||||
 | 
					0:47        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:47          'txval20' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:47          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:47            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:47              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:47            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:47            Constant:
 | 
				
			||||||
 | 
					0:47              2 (const int)
 | 
				
			||||||
 | 
					0:48      Sequence
 | 
				
			||||||
 | 
					0:48        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:48          'txval21' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:48          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:48            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:48              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:48            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:48            Constant:
 | 
				
			||||||
 | 
					0:48              2 (const int)
 | 
				
			||||||
 | 
					0:49      Sequence
 | 
				
			||||||
 | 
					0:49        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49          'txval22' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:49              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:49            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:49            Constant:
 | 
				
			||||||
 | 
					0:49              2 (const int)
 | 
				
			||||||
 | 
					0:51      Sequence
 | 
				
			||||||
 | 
					0:51        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          'txval30' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:51              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:51            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:51            Constant:
 | 
				
			||||||
 | 
					0:51              3 (const int)
 | 
				
			||||||
 | 
					0:52      Sequence
 | 
				
			||||||
 | 
					0:52        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          'txval31' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:52            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:52              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:52            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:52            Constant:
 | 
				
			||||||
 | 
					0:52              3 (const int)
 | 
				
			||||||
 | 
					0:53      Sequence
 | 
				
			||||||
 | 
					0:53        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          'txval32' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:53              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:53            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:53            Constant:
 | 
				
			||||||
 | 
					0:53              3 (const int)
 | 
				
			||||||
 | 
					0:57      Sequence
 | 
				
			||||||
 | 
					0:57        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:57          'txval40' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:57          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:57            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:57              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:57            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:57            Constant:
 | 
				
			||||||
 | 
					0:57              0 (const int)
 | 
				
			||||||
 | 
					0:58      Sequence
 | 
				
			||||||
 | 
					0:58        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:58          'txval41' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:58          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:58            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:58              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:58            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:58            Constant:
 | 
				
			||||||
 | 
					0:58              0 (const int)
 | 
				
			||||||
 | 
					0:59      Sequence
 | 
				
			||||||
 | 
					0:59        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59          'txval42' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:59              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:59            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:59            Constant:
 | 
				
			||||||
 | 
					0:59              0 (const int)
 | 
				
			||||||
 | 
					0:61      Sequence
 | 
				
			||||||
 | 
					0:61        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:61          'txval50' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:61          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:61            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:61              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:61            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:61            Constant:
 | 
				
			||||||
 | 
					0:61              1 (const int)
 | 
				
			||||||
 | 
					0:62      Sequence
 | 
				
			||||||
 | 
					0:62        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:62          'txval51' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:62          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:62            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:62              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:62            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:62            Constant:
 | 
				
			||||||
 | 
					0:62              1 (const int)
 | 
				
			||||||
 | 
					0:63      Sequence
 | 
				
			||||||
 | 
					0:63        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63          'txval52' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:63              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:63            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:63            Constant:
 | 
				
			||||||
 | 
					0:63              1 (const int)
 | 
				
			||||||
 | 
					0:65      Sequence
 | 
				
			||||||
 | 
					0:65        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:65          'txval60' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:65          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:65            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:65              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:65            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:65            Constant:
 | 
				
			||||||
 | 
					0:65              2 (const int)
 | 
				
			||||||
 | 
					0:66      Sequence
 | 
				
			||||||
 | 
					0:66        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:66          'txval61' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:66          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:66            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:66              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:66            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:66            Constant:
 | 
				
			||||||
 | 
					0:66              2 (const int)
 | 
				
			||||||
 | 
					0:67      Sequence
 | 
				
			||||||
 | 
					0:67        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67          'txval62' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:67              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:67            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:67            Constant:
 | 
				
			||||||
 | 
					0:67              2 (const int)
 | 
				
			||||||
 | 
					0:69      Sequence
 | 
				
			||||||
 | 
					0:69        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:69          'txval70' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:69          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:69            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:69              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:69            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:69            Constant:
 | 
				
			||||||
 | 
					0:69              3 (const int)
 | 
				
			||||||
 | 
					0:70      Sequence
 | 
				
			||||||
 | 
					0:70        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:70          'txval71' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:70          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:70            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:70              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:70            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:70            Constant:
 | 
				
			||||||
 | 
					0:70              3 (const int)
 | 
				
			||||||
 | 
					0:71      Sequence
 | 
				
			||||||
 | 
					0:71        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71          'txval72' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:71              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:71            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:71            Constant:
 | 
				
			||||||
 | 
					0:71              3 (const int)
 | 
				
			||||||
 | 
					0:73      move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:73        Color: direct index for structure (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:73          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:73          Constant:
 | 
				
			||||||
 | 
					0:73            0 (const int)
 | 
				
			||||||
 | 
					0:73        Constant:
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:74      move second child to first child (temp float)
 | 
				
			||||||
 | 
					0:74        Depth: direct index for structure (temp float FragDepth)
 | 
				
			||||||
 | 
					0:74          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:74          Constant:
 | 
				
			||||||
 | 
					0:74            1 (const int)
 | 
				
			||||||
 | 
					0:74        Constant:
 | 
				
			||||||
 | 
					0:74          1.000000
 | 
				
			||||||
 | 
					0:76      Branch: Return with expression
 | 
				
			||||||
 | 
					0:76        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:?   Linker Objects
 | 
				
			||||||
 | 
					0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_sSamp2d' (uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1di4' (uniform itexture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1du4' (uniform utexture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3df4' (uniform texture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3di4' (uniform itexture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3du4' (uniform utexture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:?     'c1' (uniform float)
 | 
				
			||||||
 | 
					0:?     'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Linked fragment stage:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader version: 450
 | 
				
			||||||
 | 
					gl_FragCoord origin is upper left
 | 
				
			||||||
 | 
					0:? Sequence
 | 
				
			||||||
 | 
					0:78  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:34    Function Parameters: 
 | 
				
			||||||
 | 
					0:?     Sequence
 | 
				
			||||||
 | 
					0:39      Sequence
 | 
				
			||||||
 | 
					0:39        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:39          'txval00' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:39          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:39            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:39              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:39            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:39            Constant:
 | 
				
			||||||
 | 
					0:39              0 (const int)
 | 
				
			||||||
 | 
					0:40      Sequence
 | 
				
			||||||
 | 
					0:40        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:40          'txval01' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:40          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:40            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:40              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:40            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:40            Constant:
 | 
				
			||||||
 | 
					0:40              0 (const int)
 | 
				
			||||||
 | 
					0:41      Sequence
 | 
				
			||||||
 | 
					0:41        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41          'txval02' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:41            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:41              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:41            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:41            Constant:
 | 
				
			||||||
 | 
					0:41              0 (const int)
 | 
				
			||||||
 | 
					0:43      Sequence
 | 
				
			||||||
 | 
					0:43        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:43          'txval10' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:43          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:43            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:43              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:43            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:43            Constant:
 | 
				
			||||||
 | 
					0:43              1 (const int)
 | 
				
			||||||
 | 
					0:44      Sequence
 | 
				
			||||||
 | 
					0:44        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:44          'txval11' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:44          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:44            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:44              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:44            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:44            Constant:
 | 
				
			||||||
 | 
					0:44              1 (const int)
 | 
				
			||||||
 | 
					0:45      Sequence
 | 
				
			||||||
 | 
					0:45        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45          'txval12' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:45            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:45              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:45            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:45            Constant:
 | 
				
			||||||
 | 
					0:45              1 (const int)
 | 
				
			||||||
 | 
					0:47      Sequence
 | 
				
			||||||
 | 
					0:47        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:47          'txval20' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:47          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:47            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:47              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:47            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:47            Constant:
 | 
				
			||||||
 | 
					0:47              2 (const int)
 | 
				
			||||||
 | 
					0:48      Sequence
 | 
				
			||||||
 | 
					0:48        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:48          'txval21' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:48          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:48            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:48              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:48            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:48            Constant:
 | 
				
			||||||
 | 
					0:48              2 (const int)
 | 
				
			||||||
 | 
					0:49      Sequence
 | 
				
			||||||
 | 
					0:49        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49          'txval22' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:49            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:49              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:49            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:49            Constant:
 | 
				
			||||||
 | 
					0:49              2 (const int)
 | 
				
			||||||
 | 
					0:51      Sequence
 | 
				
			||||||
 | 
					0:51        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          'txval30' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:51          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:51            Construct combined texture-sampler (temp sampler2D)
 | 
				
			||||||
 | 
					0:51              'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:51            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:51            Constant:
 | 
				
			||||||
 | 
					0:51              3 (const int)
 | 
				
			||||||
 | 
					0:52      Sequence
 | 
				
			||||||
 | 
					0:52        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          'txval31' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:52          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:52            Construct combined texture-sampler (temp isampler2D)
 | 
				
			||||||
 | 
					0:52              'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:52            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:52            Constant:
 | 
				
			||||||
 | 
					0:52              3 (const int)
 | 
				
			||||||
 | 
					0:53      Sequence
 | 
				
			||||||
 | 
					0:53        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          'txval32' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:53            Construct combined texture-sampler (temp usampler2D)
 | 
				
			||||||
 | 
					0:53              'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:53            'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:53            Constant:
 | 
				
			||||||
 | 
					0:53              3 (const int)
 | 
				
			||||||
 | 
					0:57      Sequence
 | 
				
			||||||
 | 
					0:57        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:57          'txval40' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:57          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:57            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:57              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:57            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:57            Constant:
 | 
				
			||||||
 | 
					0:57              0 (const int)
 | 
				
			||||||
 | 
					0:58      Sequence
 | 
				
			||||||
 | 
					0:58        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:58          'txval41' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:58          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:58            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:58              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:58            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:58            Constant:
 | 
				
			||||||
 | 
					0:58              0 (const int)
 | 
				
			||||||
 | 
					0:59      Sequence
 | 
				
			||||||
 | 
					0:59        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59          'txval42' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:59            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:59              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:59            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:59            Constant:
 | 
				
			||||||
 | 
					0:59              0 (const int)
 | 
				
			||||||
 | 
					0:61      Sequence
 | 
				
			||||||
 | 
					0:61        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:61          'txval50' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:61          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:61            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:61              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:61            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:61            Constant:
 | 
				
			||||||
 | 
					0:61              1 (const int)
 | 
				
			||||||
 | 
					0:62      Sequence
 | 
				
			||||||
 | 
					0:62        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:62          'txval51' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:62          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:62            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:62              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:62            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:62            Constant:
 | 
				
			||||||
 | 
					0:62              1 (const int)
 | 
				
			||||||
 | 
					0:63      Sequence
 | 
				
			||||||
 | 
					0:63        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63          'txval52' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:63            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:63              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:63            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:63            Constant:
 | 
				
			||||||
 | 
					0:63              1 (const int)
 | 
				
			||||||
 | 
					0:65      Sequence
 | 
				
			||||||
 | 
					0:65        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:65          'txval60' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:65          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:65            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:65              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:65            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:65            Constant:
 | 
				
			||||||
 | 
					0:65              2 (const int)
 | 
				
			||||||
 | 
					0:66      Sequence
 | 
				
			||||||
 | 
					0:66        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:66          'txval61' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:66          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:66            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:66              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:66            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:66            Constant:
 | 
				
			||||||
 | 
					0:66              2 (const int)
 | 
				
			||||||
 | 
					0:67      Sequence
 | 
				
			||||||
 | 
					0:67        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67          'txval62' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:67            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:67              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:67            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:67            Constant:
 | 
				
			||||||
 | 
					0:67              2 (const int)
 | 
				
			||||||
 | 
					0:69      Sequence
 | 
				
			||||||
 | 
					0:69        move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:69          'txval70' (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:69          textureGather (global 4-component vector of float)
 | 
				
			||||||
 | 
					0:69            Construct combined texture-sampler (temp samplerCube)
 | 
				
			||||||
 | 
					0:69              'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:69            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:69            Constant:
 | 
				
			||||||
 | 
					0:69              3 (const int)
 | 
				
			||||||
 | 
					0:70      Sequence
 | 
				
			||||||
 | 
					0:70        move second child to first child (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:70          'txval71' (temp 4-component vector of int)
 | 
				
			||||||
 | 
					0:70          textureGather (global 4-component vector of int)
 | 
				
			||||||
 | 
					0:70            Construct combined texture-sampler (temp isamplerCube)
 | 
				
			||||||
 | 
					0:70              'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:70            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:70            Constant:
 | 
				
			||||||
 | 
					0:70              3 (const int)
 | 
				
			||||||
 | 
					0:71      Sequence
 | 
				
			||||||
 | 
					0:71        move second child to first child (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71          'txval72' (temp 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71          textureGather (global 4-component vector of uint)
 | 
				
			||||||
 | 
					0:71            Construct combined texture-sampler (temp usamplerCube)
 | 
				
			||||||
 | 
					0:71              'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:71            'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:71            Constant:
 | 
				
			||||||
 | 
					0:71              3 (const int)
 | 
				
			||||||
 | 
					0:73      move second child to first child (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:73        Color: direct index for structure (temp 4-component vector of float)
 | 
				
			||||||
 | 
					0:73          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:73          Constant:
 | 
				
			||||||
 | 
					0:73            0 (const int)
 | 
				
			||||||
 | 
					0:73        Constant:
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:73          1.000000
 | 
				
			||||||
 | 
					0:74      move second child to first child (temp float)
 | 
				
			||||||
 | 
					0:74        Depth: direct index for structure (temp float FragDepth)
 | 
				
			||||||
 | 
					0:74          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:74          Constant:
 | 
				
			||||||
 | 
					0:74            1 (const int)
 | 
				
			||||||
 | 
					0:74        Constant:
 | 
				
			||||||
 | 
					0:74          1.000000
 | 
				
			||||||
 | 
					0:76      Branch: Return with expression
 | 
				
			||||||
 | 
					0:76        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
 | 
				
			||||||
 | 
					0:?   Linker Objects
 | 
				
			||||||
 | 
					0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_sSamp2d' (uniform sampler)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1di4' (uniform itexture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex1du4' (uniform utexture1D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2df4' (uniform texture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2di4' (uniform itexture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex2du4' (uniform utexture2D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3df4' (uniform texture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3di4' (uniform itexture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTex3du4' (uniform utexture3D)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdf4' (uniform textureCube)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdi4' (uniform itextureCube)
 | 
				
			||||||
 | 
					0:?     'g_tTexcdu4' (uniform utextureCube)
 | 
				
			||||||
 | 
					0:?     'c1' (uniform float)
 | 
				
			||||||
 | 
					0:?     'c2' (uniform 2-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c3' (uniform 3-component vector of float)
 | 
				
			||||||
 | 
					0:?     'c4' (uniform 4-component vector of float)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Module Version 10000
 | 
				
			||||||
 | 
					// Generated by (magic number): 80001
 | 
				
			||||||
 | 
					// Id's are bound by 230
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              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  "txval00"
 | 
				
			||||||
 | 
					                              Name 12  "g_tTex2df4"
 | 
				
			||||||
 | 
					                              Name 16  "g_sSamp"
 | 
				
			||||||
 | 
					                              Name 22  "c2"
 | 
				
			||||||
 | 
					                              Name 29  "txval01"
 | 
				
			||||||
 | 
					                              Name 32  "g_tTex2di4"
 | 
				
			||||||
 | 
					                              Name 42  "txval02"
 | 
				
			||||||
 | 
					                              Name 45  "g_tTex2du4"
 | 
				
			||||||
 | 
					                              Name 52  "txval10"
 | 
				
			||||||
 | 
					                              Name 59  "txval11"
 | 
				
			||||||
 | 
					                              Name 65  "txval12"
 | 
				
			||||||
 | 
					                              Name 71  "txval20"
 | 
				
			||||||
 | 
					                              Name 78  "txval21"
 | 
				
			||||||
 | 
					                              Name 84  "txval22"
 | 
				
			||||||
 | 
					                              Name 90  "txval30"
 | 
				
			||||||
 | 
					                              Name 97  "txval31"
 | 
				
			||||||
 | 
					                              Name 103  "txval32"
 | 
				
			||||||
 | 
					                              Name 109  "txval40"
 | 
				
			||||||
 | 
					                              Name 112  "g_tTexcdf4"
 | 
				
			||||||
 | 
					                              Name 119  "c3"
 | 
				
			||||||
 | 
					                              Name 122  "txval41"
 | 
				
			||||||
 | 
					                              Name 125  "g_tTexcdi4"
 | 
				
			||||||
 | 
					                              Name 132  "txval42"
 | 
				
			||||||
 | 
					                              Name 135  "g_tTexcdu4"
 | 
				
			||||||
 | 
					                              Name 142  "txval50"
 | 
				
			||||||
 | 
					                              Name 148  "txval51"
 | 
				
			||||||
 | 
					                              Name 154  "txval52"
 | 
				
			||||||
 | 
					                              Name 160  "txval60"
 | 
				
			||||||
 | 
					                              Name 166  "txval61"
 | 
				
			||||||
 | 
					                              Name 172  "txval62"
 | 
				
			||||||
 | 
					                              Name 178  "txval70"
 | 
				
			||||||
 | 
					                              Name 184  "txval71"
 | 
				
			||||||
 | 
					                              Name 190  "txval72"
 | 
				
			||||||
 | 
					                              Name 196  "PS_OUTPUT"
 | 
				
			||||||
 | 
					                              MemberName 196(PS_OUTPUT) 0  "Color"
 | 
				
			||||||
 | 
					                              MemberName 196(PS_OUTPUT) 1  "Depth"
 | 
				
			||||||
 | 
					                              Name 198  "psout"
 | 
				
			||||||
 | 
					                              Name 206  "g_sSamp2d"
 | 
				
			||||||
 | 
					                              Name 209  "g_tTex1df4a"
 | 
				
			||||||
 | 
					                              Name 210  "g_tTex1df4"
 | 
				
			||||||
 | 
					                              Name 213  "g_tTex1di4"
 | 
				
			||||||
 | 
					                              Name 216  "g_tTex1du4"
 | 
				
			||||||
 | 
					                              Name 219  "g_tTex3df4"
 | 
				
			||||||
 | 
					                              Name 222  "g_tTex3di4"
 | 
				
			||||||
 | 
					                              Name 225  "g_tTex3du4"
 | 
				
			||||||
 | 
					                              Name 227  "c1"
 | 
				
			||||||
 | 
					                              Name 229  "c4"
 | 
				
			||||||
 | 
					                              Decorate 12(g_tTex2df4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 16(g_sSamp) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 16(g_sSamp) Binding 0
 | 
				
			||||||
 | 
					                              Decorate 32(g_tTex2di4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 45(g_tTex2du4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 112(g_tTexcdf4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 125(g_tTexcdi4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 135(g_tTexcdu4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              MemberDecorate 196(PS_OUTPUT) 1 BuiltIn FragDepth
 | 
				
			||||||
 | 
					                              Decorate 206(g_sSamp2d) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 209(g_tTex1df4a) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 209(g_tTex1df4a) Binding 1
 | 
				
			||||||
 | 
					                              Decorate 210(g_tTex1df4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 210(g_tTex1df4) Binding 0
 | 
				
			||||||
 | 
					                              Decorate 213(g_tTex1di4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 216(g_tTex1du4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 219(g_tTex3df4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 222(g_tTex3di4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 225(g_tTex3du4) DescriptorSet 0
 | 
				
			||||||
 | 
					               2:             TypeVoid
 | 
				
			||||||
 | 
					               3:             TypeFunction 2
 | 
				
			||||||
 | 
					               6:             TypeFloat 32
 | 
				
			||||||
 | 
					               7:             TypeVector 6(float) 4
 | 
				
			||||||
 | 
					               8:             TypePointer Function 7(fvec4)
 | 
				
			||||||
 | 
					              10:             TypeImage 6(float) 2D sampled format:Unknown
 | 
				
			||||||
 | 
					              11:             TypePointer UniformConstant 10
 | 
				
			||||||
 | 
					  12(g_tTex2df4):     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:             TypePointer UniformConstant 20(fvec2)
 | 
				
			||||||
 | 
					          22(c2):     21(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              24:             TypeInt 32 1
 | 
				
			||||||
 | 
					              25:     24(int) Constant 0
 | 
				
			||||||
 | 
					              27:             TypeVector 24(int) 4
 | 
				
			||||||
 | 
					              28:             TypePointer Function 27(ivec4)
 | 
				
			||||||
 | 
					              30:             TypeImage 24(int) 2D sampled format:Unknown
 | 
				
			||||||
 | 
					              31:             TypePointer UniformConstant 30
 | 
				
			||||||
 | 
					  32(g_tTex2di4):     31(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              35:             TypeSampledImage 30
 | 
				
			||||||
 | 
					              39:             TypeInt 32 0
 | 
				
			||||||
 | 
					              40:             TypeVector 39(int) 4
 | 
				
			||||||
 | 
					              41:             TypePointer Function 40(ivec4)
 | 
				
			||||||
 | 
					              43:             TypeImage 39(int) 2D sampled format:Unknown
 | 
				
			||||||
 | 
					              44:             TypePointer UniformConstant 43
 | 
				
			||||||
 | 
					  45(g_tTex2du4):     44(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              48:             TypeSampledImage 43
 | 
				
			||||||
 | 
					              57:     24(int) Constant 1
 | 
				
			||||||
 | 
					              76:     24(int) Constant 2
 | 
				
			||||||
 | 
					              95:     24(int) Constant 3
 | 
				
			||||||
 | 
					             110:             TypeImage 6(float) Cube sampled format:Unknown
 | 
				
			||||||
 | 
					             111:             TypePointer UniformConstant 110
 | 
				
			||||||
 | 
					 112(g_tTexcdf4):    111(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             115:             TypeSampledImage 110
 | 
				
			||||||
 | 
					             117:             TypeVector 6(float) 3
 | 
				
			||||||
 | 
					             118:             TypePointer UniformConstant 117(fvec3)
 | 
				
			||||||
 | 
					         119(c3):    118(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             123:             TypeImage 24(int) Cube sampled format:Unknown
 | 
				
			||||||
 | 
					             124:             TypePointer UniformConstant 123
 | 
				
			||||||
 | 
					 125(g_tTexcdi4):    124(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             128:             TypeSampledImage 123
 | 
				
			||||||
 | 
					             133:             TypeImage 39(int) Cube sampled format:Unknown
 | 
				
			||||||
 | 
					             134:             TypePointer UniformConstant 133
 | 
				
			||||||
 | 
					 135(g_tTexcdu4):    134(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             138:             TypeSampledImage 133
 | 
				
			||||||
 | 
					  196(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
 | 
				
			||||||
 | 
					             197:             TypePointer Function 196(PS_OUTPUT)
 | 
				
			||||||
 | 
					             199:    6(float) Constant 1065353216
 | 
				
			||||||
 | 
					             200:    7(fvec4) ConstantComposite 199 199 199 199
 | 
				
			||||||
 | 
					             202:             TypePointer Function 6(float)
 | 
				
			||||||
 | 
					  206(g_sSamp2d):     15(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             207:             TypeImage 6(float) 1D sampled format:Unknown
 | 
				
			||||||
 | 
					             208:             TypePointer UniformConstant 207
 | 
				
			||||||
 | 
					209(g_tTex1df4a):    208(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					 210(g_tTex1df4):    208(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             211:             TypeImage 24(int) 1D sampled format:Unknown
 | 
				
			||||||
 | 
					             212:             TypePointer UniformConstant 211
 | 
				
			||||||
 | 
					 213(g_tTex1di4):    212(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             214:             TypeImage 39(int) 1D sampled format:Unknown
 | 
				
			||||||
 | 
					             215:             TypePointer UniformConstant 214
 | 
				
			||||||
 | 
					 216(g_tTex1du4):    215(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             217:             TypeImage 6(float) 3D sampled format:Unknown
 | 
				
			||||||
 | 
					             218:             TypePointer UniformConstant 217
 | 
				
			||||||
 | 
					 219(g_tTex3df4):    218(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             220:             TypeImage 24(int) 3D sampled format:Unknown
 | 
				
			||||||
 | 
					             221:             TypePointer UniformConstant 220
 | 
				
			||||||
 | 
					 222(g_tTex3di4):    221(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             223:             TypeImage 39(int) 3D sampled format:Unknown
 | 
				
			||||||
 | 
					             224:             TypePointer UniformConstant 223
 | 
				
			||||||
 | 
					 225(g_tTex3du4):    224(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             226:             TypePointer UniformConstant 6(float)
 | 
				
			||||||
 | 
					         227(c1):    226(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             228:             TypePointer UniformConstant 7(fvec4)
 | 
				
			||||||
 | 
					         229(c4):    228(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					         4(main):           2 Function None 3
 | 
				
			||||||
 | 
					               5:             Label
 | 
				
			||||||
 | 
					      9(txval00):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     29(txval01):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     42(txval02):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     52(txval10):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     59(txval11):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     65(txval12):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     71(txval20):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     78(txval21):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					     84(txval22):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					     90(txval30):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					     97(txval31):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    103(txval32):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    109(txval40):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    122(txval41):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    132(txval42):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    142(txval50):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    148(txval51):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    154(txval52):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    160(txval60):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    166(txval61):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    172(txval62):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					    178(txval70):      8(ptr) Variable Function
 | 
				
			||||||
 | 
					    184(txval71):     28(ptr) Variable Function
 | 
				
			||||||
 | 
					    190(txval72):     41(ptr) Variable Function
 | 
				
			||||||
 | 
					      198(psout):    197(ptr) Variable Function
 | 
				
			||||||
 | 
					              13:          10 Load 12(g_tTex2df4)
 | 
				
			||||||
 | 
					              17:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              19:          18 SampledImage 13 17
 | 
				
			||||||
 | 
					              23:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              26:    7(fvec4) ImageGather 19 23 25
 | 
				
			||||||
 | 
					                              Store 9(txval00) 26
 | 
				
			||||||
 | 
					              33:          30 Load 32(g_tTex2di4)
 | 
				
			||||||
 | 
					              34:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              36:          35 SampledImage 33 34
 | 
				
			||||||
 | 
					              37:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              38:   27(ivec4) ImageGather 36 37 25
 | 
				
			||||||
 | 
					                              Store 29(txval01) 38
 | 
				
			||||||
 | 
					              46:          43 Load 45(g_tTex2du4)
 | 
				
			||||||
 | 
					              47:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              49:          48 SampledImage 46 47
 | 
				
			||||||
 | 
					              50:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              51:   40(ivec4) ImageGather 49 50 25
 | 
				
			||||||
 | 
					                              Store 42(txval02) 51
 | 
				
			||||||
 | 
					              53:          10 Load 12(g_tTex2df4)
 | 
				
			||||||
 | 
					              54:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              55:          18 SampledImage 53 54
 | 
				
			||||||
 | 
					              56:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              58:    7(fvec4) ImageGather 55 56 57
 | 
				
			||||||
 | 
					                              Store 52(txval10) 58
 | 
				
			||||||
 | 
					              60:          30 Load 32(g_tTex2di4)
 | 
				
			||||||
 | 
					              61:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              62:          35 SampledImage 60 61
 | 
				
			||||||
 | 
					              63:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              64:   27(ivec4) ImageGather 62 63 57
 | 
				
			||||||
 | 
					                              Store 59(txval11) 64
 | 
				
			||||||
 | 
					              66:          43 Load 45(g_tTex2du4)
 | 
				
			||||||
 | 
					              67:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              68:          48 SampledImage 66 67
 | 
				
			||||||
 | 
					              69:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              70:   40(ivec4) ImageGather 68 69 57
 | 
				
			||||||
 | 
					                              Store 65(txval12) 70
 | 
				
			||||||
 | 
					              72:          10 Load 12(g_tTex2df4)
 | 
				
			||||||
 | 
					              73:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              74:          18 SampledImage 72 73
 | 
				
			||||||
 | 
					              75:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              77:    7(fvec4) ImageGather 74 75 76
 | 
				
			||||||
 | 
					                              Store 71(txval20) 77
 | 
				
			||||||
 | 
					              79:          30 Load 32(g_tTex2di4)
 | 
				
			||||||
 | 
					              80:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              81:          35 SampledImage 79 80
 | 
				
			||||||
 | 
					              82:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              83:   27(ivec4) ImageGather 81 82 76
 | 
				
			||||||
 | 
					                              Store 78(txval21) 83
 | 
				
			||||||
 | 
					              85:          43 Load 45(g_tTex2du4)
 | 
				
			||||||
 | 
					              86:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              87:          48 SampledImage 85 86
 | 
				
			||||||
 | 
					              88:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              89:   40(ivec4) ImageGather 87 88 76
 | 
				
			||||||
 | 
					                              Store 84(txval22) 89
 | 
				
			||||||
 | 
					              91:          10 Load 12(g_tTex2df4)
 | 
				
			||||||
 | 
					              92:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					              93:          18 SampledImage 91 92
 | 
				
			||||||
 | 
					              94:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					              96:    7(fvec4) ImageGather 93 94 95
 | 
				
			||||||
 | 
					                              Store 90(txval30) 96
 | 
				
			||||||
 | 
					              98:          30 Load 32(g_tTex2di4)
 | 
				
			||||||
 | 
					              99:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             100:          35 SampledImage 98 99
 | 
				
			||||||
 | 
					             101:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					             102:   27(ivec4) ImageGather 100 101 95
 | 
				
			||||||
 | 
					                              Store 97(txval31) 102
 | 
				
			||||||
 | 
					             104:          43 Load 45(g_tTex2du4)
 | 
				
			||||||
 | 
					             105:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             106:          48 SampledImage 104 105
 | 
				
			||||||
 | 
					             107:   20(fvec2) Load 22(c2)
 | 
				
			||||||
 | 
					             108:   40(ivec4) ImageGather 106 107 95
 | 
				
			||||||
 | 
					                              Store 103(txval32) 108
 | 
				
			||||||
 | 
					             113:         110 Load 112(g_tTexcdf4)
 | 
				
			||||||
 | 
					             114:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             116:         115 SampledImage 113 114
 | 
				
			||||||
 | 
					             120:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             121:    7(fvec4) ImageGather 116 120 25
 | 
				
			||||||
 | 
					                              Store 109(txval40) 121
 | 
				
			||||||
 | 
					             126:         123 Load 125(g_tTexcdi4)
 | 
				
			||||||
 | 
					             127:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             129:         128 SampledImage 126 127
 | 
				
			||||||
 | 
					             130:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             131:   27(ivec4) ImageGather 129 130 25
 | 
				
			||||||
 | 
					                              Store 122(txval41) 131
 | 
				
			||||||
 | 
					             136:         133 Load 135(g_tTexcdu4)
 | 
				
			||||||
 | 
					             137:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             139:         138 SampledImage 136 137
 | 
				
			||||||
 | 
					             140:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             141:   40(ivec4) ImageGather 139 140 25
 | 
				
			||||||
 | 
					                              Store 132(txval42) 141
 | 
				
			||||||
 | 
					             143:         110 Load 112(g_tTexcdf4)
 | 
				
			||||||
 | 
					             144:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             145:         115 SampledImage 143 144
 | 
				
			||||||
 | 
					             146:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             147:    7(fvec4) ImageGather 145 146 57
 | 
				
			||||||
 | 
					                              Store 142(txval50) 147
 | 
				
			||||||
 | 
					             149:         123 Load 125(g_tTexcdi4)
 | 
				
			||||||
 | 
					             150:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             151:         128 SampledImage 149 150
 | 
				
			||||||
 | 
					             152:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             153:   27(ivec4) ImageGather 151 152 57
 | 
				
			||||||
 | 
					                              Store 148(txval51) 153
 | 
				
			||||||
 | 
					             155:         133 Load 135(g_tTexcdu4)
 | 
				
			||||||
 | 
					             156:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             157:         138 SampledImage 155 156
 | 
				
			||||||
 | 
					             158:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             159:   40(ivec4) ImageGather 157 158 57
 | 
				
			||||||
 | 
					                              Store 154(txval52) 159
 | 
				
			||||||
 | 
					             161:         110 Load 112(g_tTexcdf4)
 | 
				
			||||||
 | 
					             162:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             163:         115 SampledImage 161 162
 | 
				
			||||||
 | 
					             164:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             165:    7(fvec4) ImageGather 163 164 76
 | 
				
			||||||
 | 
					                              Store 160(txval60) 165
 | 
				
			||||||
 | 
					             167:         123 Load 125(g_tTexcdi4)
 | 
				
			||||||
 | 
					             168:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             169:         128 SampledImage 167 168
 | 
				
			||||||
 | 
					             170:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             171:   27(ivec4) ImageGather 169 170 76
 | 
				
			||||||
 | 
					                              Store 166(txval61) 171
 | 
				
			||||||
 | 
					             173:         133 Load 135(g_tTexcdu4)
 | 
				
			||||||
 | 
					             174:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             175:         138 SampledImage 173 174
 | 
				
			||||||
 | 
					             176:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             177:   40(ivec4) ImageGather 175 176 76
 | 
				
			||||||
 | 
					                              Store 172(txval62) 177
 | 
				
			||||||
 | 
					             179:         110 Load 112(g_tTexcdf4)
 | 
				
			||||||
 | 
					             180:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             181:         115 SampledImage 179 180
 | 
				
			||||||
 | 
					             182:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             183:    7(fvec4) ImageGather 181 182 95
 | 
				
			||||||
 | 
					                              Store 178(txval70) 183
 | 
				
			||||||
 | 
					             185:         123 Load 125(g_tTexcdi4)
 | 
				
			||||||
 | 
					             186:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             187:         128 SampledImage 185 186
 | 
				
			||||||
 | 
					             188:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             189:   27(ivec4) ImageGather 187 188 95
 | 
				
			||||||
 | 
					                              Store 184(txval71) 189
 | 
				
			||||||
 | 
					             191:         133 Load 135(g_tTexcdu4)
 | 
				
			||||||
 | 
					             192:          14 Load 16(g_sSamp)
 | 
				
			||||||
 | 
					             193:         138 SampledImage 191 192
 | 
				
			||||||
 | 
					             194:  117(fvec3) Load 119(c3)
 | 
				
			||||||
 | 
					             195:   40(ivec4) ImageGather 193 194 95
 | 
				
			||||||
 | 
					                              Store 190(txval72) 195
 | 
				
			||||||
 | 
					             201:      8(ptr) AccessChain 198(psout) 25
 | 
				
			||||||
 | 
					                              Store 201 200
 | 
				
			||||||
 | 
					             203:    202(ptr) AccessChain 198(psout) 57
 | 
				
			||||||
 | 
					                              Store 203 199
 | 
				
			||||||
 | 
					             204:196(PS_OUTPUT) Load 198(psout)
 | 
				
			||||||
 | 
					                              ReturnValue 204
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
							
								
								
									
										1148
									
								
								Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1148
									
								
								Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1122
									
								
								Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1122
									
								
								Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -19,5 +19,12 @@ int main(){
 | 
				
			|||||||
  gl_Position = vec4(1);
 | 
					  gl_Position = vec4(1);
 | 
				
			||||||
  gl_Position = vec4(1, 2);
 | 
					  gl_Position = vec4(1, 2);
 | 
				
			||||||
  gl_Position = vec4(fn(3));
 | 
					  gl_Position = vec4(fn(3));
 | 
				
			||||||
 | 
					  []. ++ --
 | 
				
			||||||
 | 
					  + - * % / - ! ~
 | 
				
			||||||
 | 
					  << >> < > <= >=
 | 
				
			||||||
 | 
					  == !=
 | 
				
			||||||
 | 
					  & ^ | && ^^ || ? :
 | 
				
			||||||
 | 
					  += -= *= /= %= <<= >>= &= |= ^=
 | 
				
			||||||
 | 
					  1.2 2E10 5u - 5 lf
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										71
									
								
								Test/hlsl.gatherRGBA.array.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								Test/hlsl.gatherRGBA.array.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					SamplerState       g_sSamp : register(s0);
 | 
				
			||||||
 | 
					uniform sampler2D          g_sSamp2d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
 | 
				
			||||||
 | 
					Texture1DArray <int4>   g_tTex1di4a;
 | 
				
			||||||
 | 
					Texture1DArray <uint4>  g_tTex1du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2DArray <float4> g_tTex2df4a;
 | 
				
			||||||
 | 
					Texture2DArray <int4>   g_tTex2di4a;
 | 
				
			||||||
 | 
					Texture2DArray <uint4>  g_tTex2du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCubeArray <float4> g_tTexcdf4a;
 | 
				
			||||||
 | 
					TextureCubeArray <int4>   g_tTexcdi4a;
 | 
				
			||||||
 | 
					TextureCubeArray <uint4>  g_tTexcdu4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval00 = g_tTex2df4a . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval01 = g_tTex2di4a . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval02 = g_tTex2du4a . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval10 = g_tTex2df4a . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval11 = g_tTex2di4a . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval12 = g_tTex2du4a . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval20 = g_tTex2df4a . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval21 = g_tTex2di4a . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval22 = g_tTex2du4a . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval30 = g_tTex2df4a . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval31 = g_tTex2di4a . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval32 = g_tTex2du4a . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval40 = g_tTexcdf4a . GatherRed(g_sSamp, c4);
 | 
				
			||||||
 | 
					   int4   txval41 = g_tTexcdi4a . GatherRed(g_sSamp, c4);
 | 
				
			||||||
 | 
					   uint4  txval42 = g_tTexcdu4a . GatherRed(g_sSamp, c4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval50 = g_tTexcdf4a . GatherGreen(g_sSamp, c4);
 | 
				
			||||||
 | 
					   int4   txval51 = g_tTexcdi4a . GatherGreen(g_sSamp, c4);
 | 
				
			||||||
 | 
					   uint4  txval52 = g_tTexcdu4a . GatherGreen(g_sSamp, c4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval60 = g_tTexcdf4a . GatherBlue(g_sSamp, c4);
 | 
				
			||||||
 | 
					   int4   txval61 = g_tTexcdi4a . GatherBlue(g_sSamp, c4);
 | 
				
			||||||
 | 
					   uint4  txval62 = g_tTexcdu4a . GatherBlue(g_sSamp, c4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval70 = g_tTexcdf4a . GatherAlpha(g_sSamp, c4);
 | 
				
			||||||
 | 
					   int4   txval71 = g_tTexcdi4a . GatherAlpha(g_sSamp, c4);
 | 
				
			||||||
 | 
					   uint4  txval72 = g_tTexcdu4a . GatherAlpha(g_sSamp, c4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										77
									
								
								Test/hlsl.gatherRGBA.basic.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								Test/hlsl.gatherRGBA.basic.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					SamplerState       g_sSamp : register(s0);
 | 
				
			||||||
 | 
					uniform sampler2D          g_sSamp2d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture1D          g_tTex1df4a : register(t1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1D <float4> g_tTex1df4 : register(t0);
 | 
				
			||||||
 | 
					Texture1D <int4>   g_tTex1di4;
 | 
				
			||||||
 | 
					Texture1D <uint4>  g_tTex1du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2D <float4> g_tTex2df4;
 | 
				
			||||||
 | 
					Texture2D <int4>   g_tTex2di4;
 | 
				
			||||||
 | 
					Texture2D <uint4>  g_tTex2du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture3D <float4> g_tTex3df4;
 | 
				
			||||||
 | 
					Texture3D <int4>   g_tTex3di4;
 | 
				
			||||||
 | 
					Texture3D <uint4>  g_tTex3du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCube <float4> g_tTexcdf4;
 | 
				
			||||||
 | 
					TextureCube <int4>   g_tTexcdi4;
 | 
				
			||||||
 | 
					TextureCube <uint4>  g_tTexcdu4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval00 = g_tTex2df4 . GatherRed(g_sSamp, c2);
 | 
				
			||||||
 | 
					   int4   txval01 = g_tTex2di4 . GatherRed(g_sSamp, c2);
 | 
				
			||||||
 | 
					   uint4  txval02 = g_tTex2du4 . GatherRed(g_sSamp, c2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval10 = g_tTex2df4 . GatherGreen(g_sSamp, c2);
 | 
				
			||||||
 | 
					   int4   txval11 = g_tTex2di4 . GatherGreen(g_sSamp, c2);
 | 
				
			||||||
 | 
					   uint4  txval12 = g_tTex2du4 . GatherGreen(g_sSamp, c2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval20 = g_tTex2df4 . GatherBlue(g_sSamp, c2);
 | 
				
			||||||
 | 
					   int4   txval21 = g_tTex2di4 . GatherBlue(g_sSamp, c2);
 | 
				
			||||||
 | 
					   uint4  txval22 = g_tTex2du4 . GatherBlue(g_sSamp, c2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval30 = g_tTex2df4 . GatherAlpha(g_sSamp, c2);
 | 
				
			||||||
 | 
					   int4   txval31 = g_tTex2di4 . GatherAlpha(g_sSamp, c2);
 | 
				
			||||||
 | 
					   uint4  txval32 = g_tTex2du4 . GatherAlpha(g_sSamp, c2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval40 = g_tTexcdf4 . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval41 = g_tTexcdi4 . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval42 = g_tTexcdu4 . GatherRed(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval50 = g_tTexcdf4 . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval51 = g_tTexcdi4 . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval52 = g_tTexcdu4 . GatherGreen(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval60 = g_tTexcdf4 . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval61 = g_tTexcdi4 . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval62 = g_tTexcdu4 . GatherBlue(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval70 = g_tTexcdf4 . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					   int4   txval71 = g_tTexcdi4 . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					   uint4  txval72 = g_tTexcdu4 . GatherAlpha(g_sSamp, c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										116
									
								
								Test/hlsl.gatherRGBA.offset.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								Test/hlsl.gatherRGBA.offset.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,116 @@
 | 
				
			|||||||
 | 
					SamplerState       g_sSamp : register(s0);
 | 
				
			||||||
 | 
					uniform sampler2D          g_sSamp2d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture1D          g_tTex1df4a : register(t1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1D <float4> g_tTex1df4 : register(t0);
 | 
				
			||||||
 | 
					Texture1D <int4>   g_tTex1di4;
 | 
				
			||||||
 | 
					Texture1D <uint4>  g_tTex1du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2D <float4> g_tTex2df4;
 | 
				
			||||||
 | 
					Texture2D <int4>   g_tTex2di4;
 | 
				
			||||||
 | 
					Texture2D <uint4>  g_tTex2du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture3D <float4> g_tTex3df4;
 | 
				
			||||||
 | 
					Texture3D <int4>   g_tTex3di4;
 | 
				
			||||||
 | 
					Texture3D <uint4>  g_tTex3du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCube <float4> g_tTexcdf4;
 | 
				
			||||||
 | 
					TextureCube <int4>   g_tTexcdi4;
 | 
				
			||||||
 | 
					TextureCube <uint4>  g_tTexcdu4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform int  o1;
 | 
				
			||||||
 | 
					uniform int2 o2;
 | 
				
			||||||
 | 
					uniform int3 o3;
 | 
				
			||||||
 | 
					uniform int4 o4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   uint status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval001 = g_tTex2df4 . GatherRed(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   int4   txval011 = g_tTex2di4 . GatherRed(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   uint4  txval021 = g_tTex2du4 . GatherRed(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval004 = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval014 = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval024 = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   // float4 txval00s = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval01s = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval02s = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval004s = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval014s = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval024s = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval101 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   int4   txval111 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   uint4  txval121 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval104 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval114 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval124 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval10s = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval11s = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval12s = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval104 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval114 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval124 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval201 = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   int4   txval211 = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   uint4  txval221 = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval204 = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval214 = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval224 = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval204s = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval214s = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval224s = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval20s = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval21s = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval22s = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval301 = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   int4   txval311 = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					   uint4  txval321 = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval304 = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval314 = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval324 = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval304s = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval314s = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval324s = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval30s = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval31s = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval32s = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers with offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										110
									
								
								Test/hlsl.gatherRGBA.offsetarray.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								Test/hlsl.gatherRGBA.offsetarray.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					SamplerState       g_sSamp : register(s0);
 | 
				
			||||||
 | 
					uniform sampler2D          g_sSamp2d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
 | 
				
			||||||
 | 
					Texture1DArray <int4>   g_tTex1di4a;
 | 
				
			||||||
 | 
					Texture1DArray <uint4>  g_tTex1du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2DArray <float4> g_tTex2df4a;
 | 
				
			||||||
 | 
					Texture2DArray <int4>   g_tTex2di4a;
 | 
				
			||||||
 | 
					Texture2DArray <uint4>  g_tTex2du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCubeArray <float4> g_tTexcdf4a;
 | 
				
			||||||
 | 
					TextureCubeArray <int4>   g_tTexcdi4a;
 | 
				
			||||||
 | 
					TextureCubeArray <uint4>  g_tTexcdu4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform int  o1;
 | 
				
			||||||
 | 
					uniform int2 o2;
 | 
				
			||||||
 | 
					uniform int3 o3;
 | 
				
			||||||
 | 
					uniform int4 o4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   uint status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval001 = g_tTex2df4a . GatherRed(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   int4   txval011 = g_tTex2di4a . GatherRed(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   uint4  txval021 = g_tTex2du4a . GatherRed(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval004 = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval014 = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval024 = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   // float4 txval00s = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval01s = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval02s = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval004s = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval014s = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval024s = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval101 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   int4   txval111 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   uint4  txval121 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval104 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval114 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval124 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval10s = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval11s = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval12s = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval104 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval114 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval124 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval201 = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   int4   txval211 = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   uint4  txval221 = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval204 = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval214 = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval224 = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval204s = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval214s = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval224s = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval20s = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval21s = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval22s = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval301 = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   int4   txval311 = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					   uint4  txval321 = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval304 = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval314 = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval324 = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval304s = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval314s = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval324s = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval30s = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval31s = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval32s = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers with offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										70
									
								
								Test/hlsl.gathercmpRGBA.array.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Test/hlsl.gathercmpRGBA.array.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					SamplerComparisonState  g_sSampCmp : register(s0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
 | 
				
			||||||
 | 
					Texture1DArray <int4>   g_tTex1di4a;
 | 
				
			||||||
 | 
					Texture1DArray <uint4>  g_tTex1du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2DArray <float4> g_tTex2df4a;
 | 
				
			||||||
 | 
					Texture2DArray <int4>   g_tTex2di4a;
 | 
				
			||||||
 | 
					Texture2DArray <uint4>  g_tTex2du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCubeArray <float4> g_tTexcdf4a;
 | 
				
			||||||
 | 
					TextureCubeArray <int4>   g_tTexcdi4a;
 | 
				
			||||||
 | 
					TextureCubeArray <uint4>  g_tTexcdu4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval00 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   int4   txval01 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   uint4  txval02 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval10 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   int4   txval11 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   uint4  txval12 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval20 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   int4   txval21 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   uint4  txval22 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval30 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   int4   txval31 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					   uint4  txval32 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval40 = g_tTexcdf4a . GatherCmpRed(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   int4   txval41 = g_tTexcdi4a . GatherCmpRed(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   uint4  txval42 = g_tTexcdu4a . GatherCmpRed(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval50 = g_tTexcdf4a . GatherCmpGreen(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   int4   txval51 = g_tTexcdi4a . GatherCmpGreen(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   uint4  txval52 = g_tTexcdu4a . GatherCmpGreen(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval60 = g_tTexcdf4a . GatherCmpBlue(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   int4   txval61 = g_tTexcdi4a . GatherCmpBlue(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   uint4  txval62 = g_tTexcdu4a . GatherCmpBlue(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval70 = g_tTexcdf4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   int4   txval71 = g_tTexcdi4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					   uint4  txval72 = g_tTexcdu4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										76
									
								
								Test/hlsl.gathercmpRGBA.basic.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								Test/hlsl.gathercmpRGBA.basic.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,76 @@
 | 
				
			|||||||
 | 
					SamplerComparisonState     g_sSampCmp : register(s0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture1D          g_tTex1df4a : register(t1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1D <float4> g_tTex1df4 : register(t0);
 | 
				
			||||||
 | 
					Texture1D <int4>   g_tTex1di4;
 | 
				
			||||||
 | 
					Texture1D <uint4>  g_tTex1du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2D <float4> g_tTex2df4;
 | 
				
			||||||
 | 
					Texture2D <int4>   g_tTex2di4;
 | 
				
			||||||
 | 
					Texture2D <uint4>  g_tTex2du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture3D <float4> g_tTex3df4;
 | 
				
			||||||
 | 
					Texture3D <int4>   g_tTex3di4;
 | 
				
			||||||
 | 
					Texture3D <uint4>  g_tTex3du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCube <float4> g_tTexcdf4;
 | 
				
			||||||
 | 
					TextureCube <int4>   g_tTexcdi4;
 | 
				
			||||||
 | 
					TextureCube <uint4>  g_tTexcdu4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval00 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   int4   txval01 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval02 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval10 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   int4   txval11 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval12 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval20 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   int4   txval21 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval22 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval30 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   int4   txval31 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval32 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval40 = g_tTexcdf4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   int4   txval41 = g_tTexcdi4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval42 = g_tTexcdu4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval50 = g_tTexcdf4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   int4   txval51 = g_tTexcdi4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval52 = g_tTexcdu4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval60 = g_tTexcdf4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   int4   txval61 = g_tTexcdi4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval62 = g_tTexcdu4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval70 = g_tTexcdf4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   int4   txval71 = g_tTexcdi4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					   uint4  txval72 = g_tTexcdu4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										115
									
								
								Test/hlsl.gathercmpRGBA.offset.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								Test/hlsl.gathercmpRGBA.offset.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,115 @@
 | 
				
			|||||||
 | 
					SamplerComparisonState g_sSampCmp : register(s0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture1D          g_tTex1df4a : register(t1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1D <float4> g_tTex1df4 : register(t0);
 | 
				
			||||||
 | 
					Texture1D <int4>   g_tTex1di4;
 | 
				
			||||||
 | 
					Texture1D <uint4>  g_tTex1du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2D <float4> g_tTex2df4;
 | 
				
			||||||
 | 
					Texture2D <int4>   g_tTex2di4;
 | 
				
			||||||
 | 
					Texture2D <uint4>  g_tTex2du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture3D <float4> g_tTex3df4;
 | 
				
			||||||
 | 
					Texture3D <int4>   g_tTex3di4;
 | 
				
			||||||
 | 
					Texture3D <uint4>  g_tTex3du4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCube <float4> g_tTexcdf4;
 | 
				
			||||||
 | 
					TextureCube <int4>   g_tTexcdi4;
 | 
				
			||||||
 | 
					TextureCube <uint4>  g_tTexcdu4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform int  o1;
 | 
				
			||||||
 | 
					uniform int2 o2;
 | 
				
			||||||
 | 
					uniform int3 o3;
 | 
				
			||||||
 | 
					uniform int4 o4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   uint status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval001 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval011 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval021 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval004 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval014 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval024 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   // float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval111 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval121 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval201 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval211 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval221 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval204 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval214 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval224 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval301 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval311 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval321 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval304 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval314 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval324 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers with offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										109
									
								
								Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,109 @@
 | 
				
			|||||||
 | 
					SamplerComparisonState g_sSampCmp : register(s0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
 | 
				
			||||||
 | 
					Texture1DArray <int4>   g_tTex1di4a;
 | 
				
			||||||
 | 
					Texture1DArray <uint4>  g_tTex1du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Texture2DArray <float4> g_tTex2df4a;
 | 
				
			||||||
 | 
					Texture2DArray <int4>   g_tTex2di4a;
 | 
				
			||||||
 | 
					Texture2DArray <uint4>  g_tTex2du4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TextureCubeArray <float4> g_tTexcdf4a;
 | 
				
			||||||
 | 
					TextureCubeArray <int4>   g_tTexcdi4a;
 | 
				
			||||||
 | 
					TextureCubeArray <uint4>  g_tTexcdu4a;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PS_OUTPUT
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    float4 Color : SV_Target0;
 | 
				
			||||||
 | 
					    float  Depth : SV_Depth;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform float  c1;
 | 
				
			||||||
 | 
					uniform float2 c2;
 | 
				
			||||||
 | 
					uniform float3 c3;
 | 
				
			||||||
 | 
					uniform float4 c4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform int  o1;
 | 
				
			||||||
 | 
					uniform int2 o2;
 | 
				
			||||||
 | 
					uniform int3 o3;
 | 
				
			||||||
 | 
					uniform int4 o4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS_OUTPUT main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   PS_OUTPUT psout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   uint status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 1D gathers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval001 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval011 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval021 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval004 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval014 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval024 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   // float4 txval00s = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval01s = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval02s = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval004s = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval014s = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval024s = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval101 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval111 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval121 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval104 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval114 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval124 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval10s = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval11s = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval12s = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval104 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval114 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval124 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval201 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval211 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval221 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval204 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval214 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval224 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval204s = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval214s = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval224s = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval20s = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval21s = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval22s = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval301 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   int4   txval311 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					   uint4  txval321 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   float4 txval304 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   int4   txval314 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					   uint4  txval324 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval304s = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval314s = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval324s = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // float4 txval30s = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // int4   txval31s = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					   // uint4  txval32s = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // no 3D gathers with offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   psout.Color = 1.0;
 | 
				
			||||||
 | 
					   psout.Depth = 1.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   return psout;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -19,4 +19,11 @@ int main() {
 | 
				
			|||||||
  gl_Position = vec4(Z);
 | 
					  gl_Position = vec4(Z);
 | 
				
			||||||
  gl_Position = vec4(F);
 | 
					  gl_Position = vec4(F);
 | 
				
			||||||
  gl_Position = vec4(fn(3));
 | 
					  gl_Position = vec4(fn(3));
 | 
				
			||||||
 | 
					  [] . ++ --
 | 
				
			||||||
 | 
					  + - * % / - ! ~
 | 
				
			||||||
 | 
					  << >> < > <= >=
 | 
				
			||||||
 | 
					  == !=
 | 
				
			||||||
 | 
					  & ^ | && ^^ || ? :
 | 
				
			||||||
 | 
					  += -= *= /= %= <<= >>= &= |= ^=
 | 
				
			||||||
 | 
					  1.2 2E10 5u -5lf
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -568,6 +568,17 @@ enum TOperator {
 | 
				
			|||||||
    EOpMethodGather,                     // ...
 | 
					    EOpMethodGather,                     // ...
 | 
				
			||||||
    EOpMethodCalculateLevelOfDetail,     // ...
 | 
					    EOpMethodCalculateLevelOfDetail,     // ...
 | 
				
			||||||
    EOpMethodCalculateLevelOfDetailUnclamped,     // ...
 | 
					    EOpMethodCalculateLevelOfDetailUnclamped,     // ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // SM5 texture methods
 | 
				
			||||||
 | 
					    EOpMethodGatherRed,                  // These are covered under the above EOpMethodSample comment about
 | 
				
			||||||
 | 
					    EOpMethodGatherGreen,                // translation to existing AST opcodes.  They exist temporarily
 | 
				
			||||||
 | 
					    EOpMethodGatherBlue,                 // because HLSL arguments are slightly different.
 | 
				
			||||||
 | 
					    EOpMethodGatherAlpha,                // ...
 | 
				
			||||||
 | 
					    EOpMethodGatherCmp,                  // ...
 | 
				
			||||||
 | 
					    EOpMethodGatherCmpRed,               // ...
 | 
				
			||||||
 | 
					    EOpMethodGatherCmpGreen,             // ...
 | 
				
			||||||
 | 
					    EOpMethodGatherCmpBlue,              // ...
 | 
				
			||||||
 | 
					    EOpMethodGatherCmpAlpha,             // ...
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TIntermTraverser;
 | 
					class TIntermTraverser;
 | 
				
			||||||
 | 
				
			|||||||
@ -2,5 +2,5 @@
 | 
				
			|||||||
// For the version, it uses the latest git tag followed by the number of commits.
 | 
					// For the version, it uses the latest git tag followed by the number of commits.
 | 
				
			||||||
// For the date, it uses the current date (when then script is run).
 | 
					// For the date, it uses the current date (when then script is run).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GLSLANG_REVISION "SPIRV99.1377"
 | 
					#define GLSLANG_REVISION "SPIRV99.1383"
 | 
				
			||||||
#define GLSLANG_DATE "02-Aug-2016"
 | 
					#define GLSLANG_DATE "04-Aug-2016"
 | 
				
			||||||
 | 
				
			|||||||
@ -98,6 +98,32 @@ const struct {
 | 
				
			|||||||
    int val;
 | 
					    int val;
 | 
				
			||||||
    const char* str;
 | 
					    const char* str;
 | 
				
			||||||
} tokens[] = {
 | 
					} tokens[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    { PpAtomAdd,            "+=" },
 | 
				
			||||||
 | 
					    { PpAtomSub,            "-=" },
 | 
				
			||||||
 | 
					    { PpAtomMul,            "*=" },
 | 
				
			||||||
 | 
					    { PpAtomDiv,            "/=" },
 | 
				
			||||||
 | 
					    { PpAtomMod,            "%=" },
 | 
				
			||||||
 | 
					    { PpAtomRight,          ">>" },
 | 
				
			||||||
 | 
					    { PpAtomLeft,           "<<" },
 | 
				
			||||||
 | 
					    { PpAtomAnd,            "&&" },
 | 
				
			||||||
 | 
					    { PpAtomOr,             "||" },
 | 
				
			||||||
 | 
					    { PpAtomXor,            "^^" },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    { PpAtomRightAssign,    ">>=" },
 | 
				
			||||||
 | 
					    { PpAtomLeftAssign,     "<<=" },
 | 
				
			||||||
 | 
					    { PpAtomAndAssign,      "&=" },
 | 
				
			||||||
 | 
					    { PpAtomOrAssign,       "|=" },
 | 
				
			||||||
 | 
					    { PpAtomXorAssign,      "^=" },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    { PpAtomEQ,             "==" },
 | 
				
			||||||
 | 
					    { PpAtomNE,             "!=" },
 | 
				
			||||||
 | 
					    { PpAtomGE,             ">=" },
 | 
				
			||||||
 | 
					    { PpAtomLE,             "<=" },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    { PpAtomDecrement,      "--" },
 | 
				
			||||||
 | 
					    { PpAtomIncrement,      "++" },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    { PpAtomDefine,         "define" },
 | 
					    { PpAtomDefine,         "define" },
 | 
				
			||||||
    { PpAtomDefined,        "defined" },
 | 
					    { PpAtomDefined,        "defined" },
 | 
				
			||||||
    { PpAtomUndef,          "undef" },
 | 
					    { PpAtomUndef,          "undef" },
 | 
				
			||||||
@ -122,7 +148,6 @@ const struct {
 | 
				
			|||||||
    { PpAtomVersionMacro,    "__VERSION__" },
 | 
					    { PpAtomVersionMacro,    "__VERSION__" },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    { PpAtomInclude,         "include" },
 | 
					    { PpAtomInclude,         "include" },
 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // end anonymous namespace
 | 
					} // end anonymous namespace
 | 
				
			||||||
 | 
				
			|||||||
@ -91,6 +91,10 @@ INSTANTIATE_TEST_CASE_P(
 | 
				
			|||||||
        {"hlsl.gather.basic.dx10.vert", "main"},
 | 
					        {"hlsl.gather.basic.dx10.vert", "main"},
 | 
				
			||||||
        {"hlsl.gather.offset.dx10.frag", "main"},
 | 
					        {"hlsl.gather.offset.dx10.frag", "main"},
 | 
				
			||||||
        {"hlsl.gather.offsetarray.dx10.frag", "main"},
 | 
					        {"hlsl.gather.offsetarray.dx10.frag", "main"},
 | 
				
			||||||
 | 
					        {"hlsl.gatherRGBA.array.dx10.frag", "main"},
 | 
				
			||||||
 | 
					        {"hlsl.gatherRGBA.basic.dx10.frag", "main"},
 | 
				
			||||||
 | 
					        {"hlsl.gatherRGBA.offset.dx10.frag", "main"},
 | 
				
			||||||
 | 
					        {"hlsl.gatherRGBA.offsetarray.dx10.frag", "main"},
 | 
				
			||||||
        {"hlsl.getdimensions.dx10.frag", "main"},
 | 
					        {"hlsl.getdimensions.dx10.frag", "main"},
 | 
				
			||||||
        {"hlsl.getdimensions.dx10.vert", "main"},
 | 
					        {"hlsl.getdimensions.dx10.vert", "main"},
 | 
				
			||||||
        {"hlsl.getsampleposition.dx10.frag", "main"},
 | 
					        {"hlsl.getsampleposition.dx10.frag", "main"},
 | 
				
			||||||
 | 
				
			|||||||
@ -581,6 +581,15 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt
 | 
				
			|||||||
    } else if (field == "CalculateLevelOfDetail"          ||
 | 
					    } else if (field == "CalculateLevelOfDetail"          ||
 | 
				
			||||||
               field == "CalculateLevelOfDetailUnclamped" ||
 | 
					               field == "CalculateLevelOfDetailUnclamped" ||
 | 
				
			||||||
               field == "Gather"                          ||
 | 
					               field == "Gather"                          ||
 | 
				
			||||||
 | 
					               field == "GatherRed"                       ||
 | 
				
			||||||
 | 
					               field == "GatherGreen"                     ||
 | 
				
			||||||
 | 
					               field == "GatherBlue"                      ||
 | 
				
			||||||
 | 
					               field == "GatherAlpha"                     ||
 | 
				
			||||||
 | 
					               field == "GatherCmp"                       ||
 | 
				
			||||||
 | 
					               field == "GatherCmpRed"                    ||
 | 
				
			||||||
 | 
					               field == "GatherCmpGreen"                  ||
 | 
				
			||||||
 | 
					               field == "GatherCmpBlue"                   ||
 | 
				
			||||||
 | 
					               field == "GatherCmpAlpha"                  ||
 | 
				
			||||||
               field == "GetDimensions"                   ||
 | 
					               field == "GetDimensions"                   ||
 | 
				
			||||||
               field == "GetSamplePosition"               ||
 | 
					               field == "GetSamplePosition"               ||
 | 
				
			||||||
               field == "Load"                            ||
 | 
					               field == "Load"                            ||
 | 
				
			||||||
@ -1251,7 +1260,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
 | 
				
			|||||||
            TIntermTyped* argOffset = nullptr;
 | 
					            TIntermTyped* argOffset = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Offset is optional
 | 
					            // Offset is optional
 | 
				
			||||||
            if (argAggregate->getSequence().size() == 4)
 | 
					            if (argAggregate->getSequence().size() > 3)
 | 
				
			||||||
                argOffset = argAggregate->getSequence()[3]->getAsTyped();
 | 
					                argOffset = argAggregate->getSequence()[3]->getAsTyped();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const TOperator textureOp = (argOffset == nullptr ? EOpTextureGather : EOpTextureGatherOffset);
 | 
					            const TOperator textureOp = (argOffset == nullptr ? EOpTextureGather : EOpTextureGatherOffset);
 | 
				
			||||||
@ -1261,6 +1270,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            txgather->getSequence().push_back(txcombine);
 | 
					            txgather->getSequence().push_back(txcombine);
 | 
				
			||||||
            txgather->getSequence().push_back(argCoord);
 | 
					            txgather->getSequence().push_back(argCoord);
 | 
				
			||||||
 | 
					            // Offset if not given is implicitly channel 0 (red)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (argOffset != nullptr)
 | 
					            if (argOffset != nullptr)
 | 
				
			||||||
                txgather->getSequence().push_back(argOffset);
 | 
					                txgather->getSequence().push_back(argOffset);
 | 
				
			||||||
@ -1272,6 +1282,131 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
 | 
				
			|||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					    case EOpMethodGatherRed:      // fall through...
 | 
				
			||||||
 | 
					    case EOpMethodGatherGreen:    // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherBlue:     // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherAlpha:    // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherCmpRed:   // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherCmpGreen: // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherCmpBlue:  // ...
 | 
				
			||||||
 | 
					    case EOpMethodGatherCmpAlpha: // ...
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            int channel = 0;    // the channel we are gathering
 | 
				
			||||||
 | 
					            int cmpValues = 0;  // 1 if there is a compare value (handier than a bool below)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            switch (op) {
 | 
				
			||||||
 | 
					            case EOpMethodGatherCmpRed:   cmpValues = 1;  // fall through
 | 
				
			||||||
 | 
					            case EOpMethodGatherRed:      channel = 0; break;
 | 
				
			||||||
 | 
					            case EOpMethodGatherCmpGreen: cmpValues = 1;  // fall through
 | 
				
			||||||
 | 
					            case EOpMethodGatherGreen:    channel = 1; break;
 | 
				
			||||||
 | 
					            case EOpMethodGatherCmpBlue:  cmpValues = 1;  // fall through
 | 
				
			||||||
 | 
					            case EOpMethodGatherBlue:     channel = 2; break;
 | 
				
			||||||
 | 
					            case EOpMethodGatherCmpAlpha: cmpValues = 1;  // fall through
 | 
				
			||||||
 | 
					            case EOpMethodGatherAlpha:    channel = 3; break;
 | 
				
			||||||
 | 
					            default:                      assert(0);   break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // For now, we have nothing to map the component-wise comparison forms
 | 
				
			||||||
 | 
					            // to, because neither GLSL nor SPIR-V has such an opcode.  Issue an
 | 
				
			||||||
 | 
					            // unimplemented error instead.  Most of the machinery is here if that
 | 
				
			||||||
 | 
					            // should ever become available.
 | 
				
			||||||
 | 
					            if (cmpValues) {
 | 
				
			||||||
 | 
					                error(loc, "unimplemented: component-level gather compare", "", "");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            int arg = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            TIntermTyped* argTex        = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					            TIntermTyped* argSamp       = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					            TIntermTyped* argCoord      = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					            TIntermTyped* argOffset     = nullptr;
 | 
				
			||||||
 | 
					            TIntermTyped* argOffsets[4] = { nullptr, nullptr, nullptr, nullptr };
 | 
				
			||||||
 | 
					            // TIntermTyped* argStatus     = nullptr; // TODO: residency
 | 
				
			||||||
 | 
					            TIntermTyped* argCmp        = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const TSamplerDim dim = argTex->getType().getSampler().dim;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const int  argSize = argAggregate->getSequence().size();
 | 
				
			||||||
 | 
					            bool hasStatus     = (argSize == (5+cmpValues) || argSize == (8+cmpValues));
 | 
				
			||||||
 | 
					            bool hasOffset1    = false;
 | 
				
			||||||
 | 
					            bool hasOffset4    = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Only 2D forms can have offsets.  Discover if we have 0, 1 or 4 offsets.
 | 
				
			||||||
 | 
					            if (dim == Esd2D) {
 | 
				
			||||||
 | 
					                hasOffset1 = (argSize == (4+cmpValues) || argSize == (5+cmpValues));
 | 
				
			||||||
 | 
					                hasOffset4 = (argSize == (7+cmpValues) || argSize == (8+cmpValues));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            assert(!(hasOffset1 && hasOffset4));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            TOperator textureOp = EOpTextureGather;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Compare forms have compare value
 | 
				
			||||||
 | 
					            if (cmpValues != 0)
 | 
				
			||||||
 | 
					                argCmp = argOffset = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Some forms have single offset
 | 
				
			||||||
 | 
					            if (hasOffset1) {
 | 
				
			||||||
 | 
					                textureOp = EOpTextureGatherOffset;   // single offset form
 | 
				
			||||||
 | 
					                argOffset = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Some forms have 4 gather offsets
 | 
				
			||||||
 | 
					            if (hasOffset4) {
 | 
				
			||||||
 | 
					                textureOp = EOpTextureGatherOffsets;  // note plural, for 4 offset form
 | 
				
			||||||
 | 
					                for (int offsetNum = 0; offsetNum < 4; ++offsetNum)
 | 
				
			||||||
 | 
					                    argOffsets[offsetNum] = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Residency status
 | 
				
			||||||
 | 
					            if (hasStatus) {
 | 
				
			||||||
 | 
					                // argStatus = argAggregate->getSequence()[arg++]->getAsTyped();
 | 
				
			||||||
 | 
					                error(loc, "unimplemented: residency status", "", "");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            TIntermAggregate* txgather = new TIntermAggregate(textureOp);
 | 
				
			||||||
 | 
					            TIntermAggregate* txcombine = handleSamplerTextureCombine(loc, argTex, argSamp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            TIntermTyped* argChannel = intermediate.addConstantUnion(channel, loc, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            txgather->getSequence().push_back(txcombine);
 | 
				
			||||||
 | 
					            txgather->getSequence().push_back(argCoord);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // AST wants an array of 4 offsets, where HLSL has separate args.  Here
 | 
				
			||||||
 | 
					            // we construct an array from the separate args.
 | 
				
			||||||
 | 
					            if (hasOffset4) {
 | 
				
			||||||
 | 
					                TType arrayType(EbtInt, EvqTemporary, 2);
 | 
				
			||||||
 | 
					                TArraySizes arraySizes;
 | 
				
			||||||
 | 
					                arraySizes.addInnerSize(4);
 | 
				
			||||||
 | 
					                arrayType.newArraySizes(arraySizes);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                TIntermAggregate* initList = new TIntermAggregate(EOpNull);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                for (int offsetNum = 0; offsetNum < 4; ++offsetNum)
 | 
				
			||||||
 | 
					                    initList->getSequence().push_back(argOffsets[offsetNum]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                argOffset = addConstructor(loc, initList, arrayType);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Add comparison value if we have one
 | 
				
			||||||
 | 
					            if (argTex->getType().getSampler().isShadow())
 | 
				
			||||||
 | 
					                txgather->getSequence().push_back(argCmp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Add offset (either 1, or an array of 4) if we have one
 | 
				
			||||||
 | 
					            if (argOffset != nullptr)
 | 
				
			||||||
 | 
					                txgather->getSequence().push_back(argOffset);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            txgather->getSequence().push_back(argChannel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            txgather->setType(node->getType());
 | 
				
			||||||
 | 
					            txgather->setLoc(loc);
 | 
				
			||||||
 | 
					            node = txgather;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case EOpMethodCalculateLevelOfDetail:
 | 
					    case EOpMethodCalculateLevelOfDetail:
 | 
				
			||||||
    case EOpMethodCalculateLevelOfDetailUnclamped:
 | 
					    case EOpMethodCalculateLevelOfDetailUnclamped:
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
				
			|||||||
@ -101,13 +101,30 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
 | 
				
			|||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const bool isGather = 
 | 
				
			||||||
 | 
					        (name == "Gather" || 
 | 
				
			||||||
 | 
					         name == "GatherRed" ||
 | 
				
			||||||
 | 
					         name == "GatherGreen" || 
 | 
				
			||||||
 | 
					         name == "GatherBlue"  ||
 | 
				
			||||||
 | 
					         name == "GatherAlpha");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const bool isGatherCmp = 
 | 
				
			||||||
 | 
					        (name == "GatherCmpRed"   ||
 | 
				
			||||||
 | 
					         name == "GatherCmpGreen" ||
 | 
				
			||||||
 | 
					         name == "GatherCmpBlue"  ||
 | 
				
			||||||
 | 
					         name == "GatherCmpAlpha");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Reject invalid Gathers
 | 
					    // Reject invalid Gathers
 | 
				
			||||||
    if (name == "Gather") {
 | 
					    if (isGather || isGatherCmp) {
 | 
				
			||||||
        if (dim0 == 1 || dim0 == 3)   // there are no 1D or 3D gathers
 | 
					        if (dim0 == 1 || dim0 == 3)   // there are no 1D or 3D gathers
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        if (dim0 == 4 && numArgs == 4) // there are no Cube gathers with offset
 | 
					
 | 
				
			||||||
 | 
					        // no offset on cube or cube array gathers
 | 
				
			||||||
 | 
					        if (dim0 == 4) {
 | 
				
			||||||
 | 
					            if ((isGather && numArgs > 3) || (isGatherCmp && numArgs > 4))
 | 
				
			||||||
                return true;
 | 
					                return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Reject invalid Loads
 | 
					    // Reject invalid Loads
 | 
				
			||||||
    if (name == "Load" && dim0 == 4)
 | 
					    if (name == "Load" && dim0 == 4)
 | 
				
			||||||
@ -648,15 +665,14 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
 | 
				
			|||||||
        { "Load", /* +sampleidex*/            "V4",    nullptr,   "$&,V,S",         "FIU,I,I",       EShLangAll },
 | 
					        { "Load", /* +sampleidex*/            "V4",    nullptr,   "$&,V,S",         "FIU,I,I",       EShLangAll },
 | 
				
			||||||
        { "Load", /* +samplindex, offset*/    "V4",    nullptr,   "$&,V,S,V",       "FIU,I,I,I",     EShLangAll },
 | 
					        { "Load", /* +samplindex, offset*/    "V4",    nullptr,   "$&,V,S,V",       "FIU,I,I,I",     EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        { "Gather",             /*!O*/        "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangVSPSGS },
 | 
					        { "Gather",             /*!O*/        "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangAll },
 | 
				
			||||||
        { "Gather",             /* O*/        "V4",    nullptr,   "%@,S,V,V",       "FIU,S,F,I",     EShLangVSPSGS },
 | 
					        { "Gather",             /* O*/        "V4",    nullptr,   "%@,S,V,V",       "FIU,S,F,I",     EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        { "CalculateLevelOfDetail",           "S",     "F",       "%@,S,V",         "FUI,S,F",       EShLangFragmentMask },
 | 
					        { "CalculateLevelOfDetail",           "S",     "F",       "%@,S,V",         "FUI,S,F",       EShLangFragmentMask },
 | 
				
			||||||
        { "CalculateLevelOfDetailUnclamped",  "S",     "F",       "%@,S,V",         "FUI,S,F",       EShLangFragmentMask },
 | 
					        { "CalculateLevelOfDetailUnclamped",  "S",     "F",       "%@,S,V",         "FUI,S,F",       EShLangFragmentMask },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        { "GetSamplePosition",                "V2",    "F",       "$&2,S",          "FUI,I",         EShLangVSPSGS },
 | 
					        { "GetSamplePosition",                "V2",    "F",       "$&2,S",          "FUI,I",         EShLangVSPSGS },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // table of overloads from: https://msdn.microsoft.com/en-us/library/windows/desktop/bb509693(v=vs.85).aspx
 | 
					 | 
				
			||||||
        // 
 | 
					        // 
 | 
				
			||||||
        // UINT Width
 | 
					        // UINT Width
 | 
				
			||||||
        // UINT MipLevel, UINT Width, UINT NumberOfLevels
 | 
					        // UINT MipLevel, UINT Width, UINT NumberOfLevels
 | 
				
			||||||
@ -714,6 +730,57 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
 | 
				
			|||||||
        { "GetDimensions",   /* 2DMSArray */  "-",     "-",       "&2,>S,,,",       "FUI,U,,,",      EShLangAll },
 | 
					        { "GetDimensions",   /* 2DMSArray */  "-",     "-",       "&2,>S,,,",       "FUI,U,,,",      EShLangAll },
 | 
				
			||||||
        { "GetDimensions",   /* 2DMSArray */  "-",     "-",       "&2,>S,,,",       "FUI,U,,,",      EShLangAll },
 | 
					        { "GetDimensions",   /* 2DMSArray */  "-",     "-",       "&2,>S,,,",       "FUI,U,,,",      EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // SM5 texture methods
 | 
				
			||||||
 | 
					        { "GatherRed",       /*!O*/           "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherRed",       /* O*/           "V4",    nullptr,   "%@,S,V,",        "FIU,S,F,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherRed",       /* O, status*/   "V4",    nullptr,   "%@,S,V,,>S",     "FIU,S,F,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherRed",       /* O-4 */        "V4",    nullptr,   "%@,S,V,,,,",     "FIU,S,F,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherRed",       /* O-4, status */"V4",    nullptr,   "%@,S,V,,,,,S",   "FIU,S,F,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherGreen",     /*!O*/           "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherGreen",     /* O*/           "V4",    nullptr,   "%@,S,V,",        "FIU,S,F,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherGreen",     /* O, status*/   "V4",    nullptr,   "%@,S,V,,>S",     "FIU,S,F,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherGreen",     /* O-4 */        "V4",    nullptr,   "%@,S,V,,,,",     "FIU,S,F,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherGreen",     /* O-4, status */"V4",    nullptr,   "%@,S,V,,,,,S",   "FIU,S,F,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherBlue",      /*!O*/           "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherBlue",      /* O*/           "V4",    nullptr,   "%@,S,V,",        "FIU,S,F,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherBlue",      /* O, status*/   "V4",    nullptr,   "%@,S,V,,>S",     "FIU,S,F,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherBlue",      /* O-4 */        "V4",    nullptr,   "%@,S,V,,,,",     "FIU,S,F,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherBlue",      /* O-4, status */"V4",    nullptr,   "%@,S,V,,,,,S",   "FIU,S,F,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherAlpha",     /*!O*/           "V4",    nullptr,   "%@,S,V",         "FIU,S,F",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherAlpha",     /* O*/           "V4",    nullptr,   "%@,S,V,",        "FIU,S,F,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherAlpha",     /* O, status*/   "V4",    nullptr,   "%@,S,V,,>S",     "FIU,S,F,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherAlpha",     /* O-4 */        "V4",    nullptr,   "%@,S,V,,,,",     "FIU,S,F,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherAlpha",     /* O-4, status */"V4",    nullptr,   "%@,S,V,,,,,S",   "FIU,S,F,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherCmpRed",    /*!O*/           "V4",    nullptr,   "%@,S,V,S",       "FIU,s,F,",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpRed",    /* O*/           "V4",    nullptr,   "%@,S,V,S,V",     "FIU,s,F,,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpRed",    /* O, status*/   "V4",    nullptr,   "%@,S,V,S,V,>S",  "FIU,s,F,,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpRed",    /* O-4 */        "V4",    nullptr,   "%@,S,V,S,V,,,",  "FIU,s,F,,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpRed",    /* O-4, status */"V4",    nullptr,   "%@,S,V,S,V,,V,S","FIU,s,F,,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherCmpGreen",  /*!O*/           "V4",    nullptr,   "%@,S,V,S",       "FIU,s,F,",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpGreen",  /* O*/           "V4",    nullptr,   "%@,S,V,S,V",     "FIU,s,F,,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpGreen",  /* O, status*/   "V4",    nullptr,   "%@,S,V,S,V,>S",  "FIU,s,F,,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpGreen",  /* O-4 */        "V4",    nullptr,   "%@,S,V,S,V,,,",  "FIU,s,F,,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpGreen",  /* O-4, status */"V4",    nullptr,   "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherCmpBlue",   /*!O*/           "V4",    nullptr,   "%@,S,V,S",       "FIU,s,F,",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpBlue",   /* O*/           "V4",    nullptr,   "%@,S,V,S,V",     "FIU,s,F,,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpBlue",   /* O, status*/   "V4",    nullptr,   "%@,S,V,S,V,>S",  "FIU,s,F,,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpBlue",   /* O-4 */        "V4",    nullptr,   "%@,S,V,S,V,,,",  "FIU,s,F,,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpBlue",   /* O-4, status */"V4",    nullptr,   "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        { "GatherCmpAlpha",  /*!O*/           "V4",    nullptr,   "%@,S,V,S",       "FIU,s,F,",       EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpAlpha",  /* O*/           "V4",    nullptr,   "%@,S,V,S,V",     "FIU,s,F,,I",     EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpAlpha",  /* O, status*/   "V4",    nullptr,   "%@,S,V,S,V,>S",  "FIU,s,F,,I,U",   EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpAlpha",  /* O-4 */        "V4",    nullptr,   "%@,S,V,S,V,,,",  "FIU,s,F,,I,,,",  EShLangAll },
 | 
				
			||||||
 | 
					        { "GatherCmpAlpha",  /* O-4, status */"V4",    nullptr,   "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // TODO: Cmp forms
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet.
 | 
					        // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet.
 | 
				
			||||||
        { nullptr,                            nullptr, nullptr,   nullptr,      nullptr,  0 },
 | 
					        { nullptr,                            nullptr, nullptr,   nullptr,      nullptr,  0 },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@ -1012,6 +1079,16 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
 | 
				
			|||||||
    symbolTable.relateToOperator("Gather",                      EOpMethodGather);
 | 
					    symbolTable.relateToOperator("Gather",                      EOpMethodGather);
 | 
				
			||||||
    symbolTable.relateToOperator("CalculateLevelOfDetail",      EOpMethodCalculateLevelOfDetail);
 | 
					    symbolTable.relateToOperator("CalculateLevelOfDetail",      EOpMethodCalculateLevelOfDetail);
 | 
				
			||||||
    symbolTable.relateToOperator("CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped);
 | 
					    symbolTable.relateToOperator("CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // SM5 Texture methods
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherRed",                   EOpMethodGatherRed);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherGreen",                 EOpMethodGatherGreen);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherBlue",                  EOpMethodGatherBlue);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherAlpha",                 EOpMethodGatherAlpha);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherCmpRed",                EOpMethodGatherCmpRed);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherCmpGreen",              EOpMethodGatherCmpGreen);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherCmpBlue",               EOpMethodGatherCmpBlue);
 | 
				
			||||||
 | 
					    symbolTable.relateToOperator("GatherCmpAlpha",              EOpMethodGatherCmpAlpha);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user