Byte address buffers were failing to detect that they were byte address buffers when used as fn parameters. Note: this detection is a little awkward, and could be simplified if it was easy to obtain the declared builtin type for an object.
		
			
				
	
	
		
			16 lines
		
	
	
		
			358 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			358 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
ByteAddressBuffer g_input: register(t0);
 | 
						|
RWBuffer<uint2> g_output : register(u1);
 | 
						|
 | 
						|
uint2 testLoad(uint loc, ByteAddressBuffer buffer)
 | 
						|
{
 | 
						|
    uint2 result = buffer.Load2(loc);
 | 
						|
    return result;
 | 
						|
}
 | 
						|
 | 
						|
[numthreads(256, 1, 1)]
 | 
						|
void main(uint dispatchId : SV_DispatchThreadID)
 | 
						|
{
 | 
						|
    uint2 result = testLoad(dispatchId, g_input);
 | 
						|
    g_output[dispatchId] = result;
 | 
						|
}
 |