Fix #1471: Merge shift amounts for different sets: --stb ... --std ...
This commit is contained in:
		
							parent
							
								
									ade8bbbf5f
								
							
						
					
					
						commit
						251901ac8a
					
				@ -322,7 +322,7 @@ void ProcessBindingBase(int& argc, char**& argv, glslang::TResourceType res)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    for (int lang = langMin; lang < langMax; ++lang) {
 | 
					    for (int lang = langMin; lang < langMax; ++lang) {
 | 
				
			||||||
        if (!perSetBase.empty())
 | 
					        if (!perSetBase.empty())
 | 
				
			||||||
            baseBindingForSet[res][lang] = perSetBase;
 | 
					            baseBindingForSet[res][lang].insert(perSetBase.begin(), perSetBase.end());
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            baseBinding[res][lang] = singleBase;
 | 
					            baseBinding[res][lang] = singleBase;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -62,12 +62,13 @@ gl_FragCoord origin is upper left
 | 
				
			|||||||
0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
 | 
					0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
 | 
				
			||||||
0:56        Constant:
 | 
					0:56        Constant:
 | 
				
			||||||
0:56          0 (const uint)
 | 
					0:56          0 (const uint)
 | 
				
			||||||
0:58      Branch: Return with expression
 | 
					0:57      'ts6' (layout( set=6 binding=1) uniform texture3D)
 | 
				
			||||||
0:58        Constant:
 | 
					0:59      Branch: Return with expression
 | 
				
			||||||
0:58          0.000000
 | 
					0:59        Constant:
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
 | 
					0:59          0.000000
 | 
				
			||||||
0:34  Function Definition: main( ( temp void)
 | 
					0:34  Function Definition: main( ( temp void)
 | 
				
			||||||
0:34    Function Parameters: 
 | 
					0:34    Function Parameters: 
 | 
				
			||||||
0:?     Sequence
 | 
					0:?     Sequence
 | 
				
			||||||
@ -80,6 +81,7 @@ gl_FragCoord origin is upper left
 | 
				
			|||||||
0:?     't1' (layout( set=1 binding=1) uniform texture1D)
 | 
					0:?     't1' (layout( set=1 binding=1) uniform texture1D)
 | 
				
			||||||
0:?     't2' (layout( set=1 binding=2) uniform texture2D)
 | 
					0:?     't2' (layout( set=1 binding=2) uniform texture2D)
 | 
				
			||||||
0:?     't3' (layout( set=2 binding=1) uniform texture3D)
 | 
					0:?     't3' (layout( set=2 binding=1) uniform texture3D)
 | 
				
			||||||
 | 
					0:?     'ts6' (layout( set=6 binding=1) uniform texture3D)
 | 
				
			||||||
0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
 | 
					0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
 | 
				
			||||||
0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
					0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
				
			||||||
0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
 | 
					0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
 | 
				
			||||||
@ -162,12 +164,13 @@ gl_FragCoord origin is upper left
 | 
				
			|||||||
0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
 | 
					0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
 | 
				
			||||||
0:56        Constant:
 | 
					0:56        Constant:
 | 
				
			||||||
0:56          0 (const uint)
 | 
					0:56          0 (const uint)
 | 
				
			||||||
0:58      Branch: Return with expression
 | 
					0:57      'ts6' (layout( set=6 binding=1) uniform texture3D)
 | 
				
			||||||
0:58        Constant:
 | 
					0:59      Branch: Return with expression
 | 
				
			||||||
0:58          0.000000
 | 
					0:59        Constant:
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
0:58          0.000000
 | 
					0:59          0.000000
 | 
				
			||||||
 | 
					0:59          0.000000
 | 
				
			||||||
0:34  Function Definition: main( ( temp void)
 | 
					0:34  Function Definition: main( ( temp void)
 | 
				
			||||||
0:34    Function Parameters: 
 | 
					0:34    Function Parameters: 
 | 
				
			||||||
0:?     Sequence
 | 
					0:?     Sequence
 | 
				
			||||||
@ -180,6 +183,7 @@ gl_FragCoord origin is upper left
 | 
				
			|||||||
0:?     't1' (layout( set=1 binding=1) uniform texture1D)
 | 
					0:?     't1' (layout( set=1 binding=1) uniform texture1D)
 | 
				
			||||||
0:?     't2' (layout( set=1 binding=2) uniform texture2D)
 | 
					0:?     't2' (layout( set=1 binding=2) uniform texture2D)
 | 
				
			||||||
0:?     't3' (layout( set=2 binding=1) uniform texture3D)
 | 
					0:?     't3' (layout( set=2 binding=1) uniform texture3D)
 | 
				
			||||||
 | 
					0:?     'ts6' (layout( set=6 binding=1) uniform texture3D)
 | 
				
			||||||
0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
 | 
					0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
 | 
				
			||||||
0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
					0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
				
			||||||
0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
 | 
					0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
 | 
				
			||||||
@ -212,6 +216,7 @@ u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16
 | 
				
			|||||||
u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
 | 
					u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
 | 
				
			||||||
cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
 | 
					cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
 | 
				
			||||||
tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
 | 
					tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
 | 
				
			||||||
 | 
					ts6: offset -1, type 8b5f, size 1, index -1, binding 71, stages 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uniform block reflection:
 | 
					Uniform block reflection:
 | 
				
			||||||
t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 0
 | 
					t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 0
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								Test/hlsl.shift.per-set.frag
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										3
									
								
								Test/hlsl.shift.per-set.frag
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -6,7 +6,7 @@ SamplerComparisonState s2 : register(s2, space2);
 | 
				
			|||||||
Texture1D <float4> t1 : register(t1, space1);
 | 
					Texture1D <float4> t1 : register(t1, space1);
 | 
				
			||||||
Texture2D <float4> t2 : register(t2, space1);
 | 
					Texture2D <float4> t2 : register(t2, space1);
 | 
				
			||||||
Texture3D <float4> t3 : register(t1, space2);
 | 
					Texture3D <float4> t3 : register(t1, space2);
 | 
				
			||||||
 | 
					Texture3D <float4> ts6 : register(t1, space6);
 | 
				
			||||||
StructuredBuffer<float4> t4 : register(t1, space3);
 | 
					StructuredBuffer<float4> t4 : register(t1, space3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ByteAddressBuffer t5 : register(t2, space3);
 | 
					ByteAddressBuffer t5 : register(t2, space3);
 | 
				
			||||||
@ -54,6 +54,7 @@ float4 main() : SV_Target0
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    cb1;
 | 
					    cb1;
 | 
				
			||||||
    tb1;
 | 
					    tb1;
 | 
				
			||||||
 | 
					    ts6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -112,7 +112,7 @@ diff -b $BASEDIR/hlsl.explicitDescriptorSet-2.frag.out $TARGETDIR/hlsl.explicitD
 | 
				
			|||||||
# Testing per-descriptor-set IO map shift
 | 
					# Testing per-descriptor-set IO map shift
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
echo 'Testing per-descriptor-set IO map shift'
 | 
					echo 'Testing per-descriptor-set IO map shift'
 | 
				
			||||||
$EXE -e main --hlsl-iomap --ssb 10 1 15 2 --stb 20 --stb 25 2 --suavb 30 --suavb 40 2 --sub 50 6 -i -q -D -Od -V hlsl.shift.per-set.frag > $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
 | 
					$EXE -e main --hlsl-iomap --ssb 10 1 15 2 --stb 20 --stb 25 2 --stb 70 6 --suavb 30 --suavb 40 2 --sub 50 6 -i -q -D -Od -V hlsl.shift.per-set.frag > $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
 | 
				
			||||||
diff -b $BASEDIR/hlsl.shift.per-set.frag.out $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
 | 
					diff -b $BASEDIR/hlsl.shift.per-set.frag.out $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user