24 lines
		
	
	
		
			451 B
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			451 B
		
	
	
	
		
			GLSL
		
	
	
	
struct sb_t
 | 
						|
{
 | 
						|
    float3 color;
 | 
						|
    bool   test;
 | 
						|
    bool   test2;
 | 
						|
}; // stride = 20
 | 
						|
 | 
						|
StructuredBuffer<sb_t>  sbuf : register(t10);
 | 
						|
StructuredBuffer<float> sbuf2;
 | 
						|
 | 
						|
float4 main(uint pos : FOO) : SV_Target0
 | 
						|
{
 | 
						|
    sb_t mydata = sbuf.Load(pos);
 | 
						|
 | 
						|
    uint size;
 | 
						|
    uint stride;
 | 
						|
    sbuf.GetDimensions(size, stride);
 | 
						|
 | 
						|
    if (sbuf[pos].test)
 | 
						|
        return float4(sbuf[pos].color + sbuf2[pos], 0);
 | 
						|
    else
 | 
						|
        return mydata.color.x + size + stride;
 | 
						|
}
 |