38 lines
		
	
	
		
			893 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			893 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
cbuffer buf1 {
 | 
						|
    float4 v1;
 | 
						|
}; // extraneous ;
 | 
						|
 | 
						|
tbuffer buf2 {
 | 
						|
    float4 v2;
 | 
						|
}; // extraneous ;
 | 
						|
 | 
						|
cbuffer cbufName {
 | 
						|
    float4 v3 : packoffset(c0);
 | 
						|
    int i3    : packoffset(c1.y);
 | 
						|
}
 | 
						|
 | 
						|
tbuffer tbufName : register(t8) {
 | 
						|
    float4 v4 : packoffset(c1);
 | 
						|
    int i4    : packoffset(c3);
 | 
						|
    float f1  : packoffset(c3.w);
 | 
						|
    float f3  : packoffset(c4.x);
 | 
						|
    float f4  : packoffset(c4.y);
 | 
						|
    float f5  : packoffset(c4.z);
 | 
						|
    float f6  : packoffset(c);
 | 
						|
    float f7  : packoffset(c8);
 | 
						|
                 float3x4 m1 : packoffset(c7);
 | 
						|
       row_major float3x4 m2 : packoffset(c11);
 | 
						|
    column_major float3x4 m3 : packoffset(c15);
 | 
						|
                 float3x4 m4 : packoffset(c19);
 | 
						|
}
 | 
						|
 | 
						|
float foo() // float looks like identifier, but can't be part of tbuffer
 | 
						|
{
 | 
						|
    return 1.0;
 | 
						|
}
 | 
						|
 | 
						|
float4 PixelShaderFunction(float4 input : SV_POSITION) : SV_TARGET0
 | 
						|
{
 | 
						|
    return (input + v1 + v2 + v3 + v4) * foo();
 | 
						|
}
 |