109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#version 450 core
 | 
						|
 | 
						|
buffer bn {
 | 
						|
    int a[];
 | 
						|
    float b[];
 | 
						|
} buf;
 | 
						|
 | 
						|
uniform un {
 | 
						|
    int a[];
 | 
						|
    float b[];
 | 
						|
} ubuf;
 | 
						|
 | 
						|
buffer bna {
 | 
						|
    int a[];
 | 
						|
    float b[];
 | 
						|
} bufa[4];
 | 
						|
 | 
						|
uniform una {
 | 
						|
    int a[];
 | 
						|
    float b[];
 | 
						|
} ubufa[4];
 | 
						|
 | 
						|
buffer abn {
 | 
						|
    int aba[];
 | 
						|
    float abb[];
 | 
						|
};
 | 
						|
 | 
						|
uniform aun {
 | 
						|
    int aua[];
 | 
						|
    float aub[];
 | 
						|
};
 | 
						|
 | 
						|
layout(binding=1)                             uniform samplerBuffer       uniformTexelBufferDyn[];
 | 
						|
layout(binding=2, r32f)                       uniform imageBuffer         storageTexelBufferDyn[];
 | 
						|
layout(binding=3)                             uniform uname { float a; }  uniformBuffer[];
 | 
						|
layout(binding=4)                             buffer  bname { float b; }  storageBuffer[];
 | 
						|
layout(binding=5)                             uniform sampler2D           sampledImage[];
 | 
						|
layout(binding=6, r32f)                       uniform image2D             storageImage[];
 | 
						|
layout(binding=8)                             uniform samplerBuffer       uniformTexelBuffer[];
 | 
						|
layout(binding=9, r32f)                       uniform imageBuffer         storageTexelBuffer[];
 | 
						|
 | 
						|
int i;
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    ubuf.a[3];
 | 
						|
    ubuf.b[3];
 | 
						|
    buf.a[3];
 | 
						|
    buf.b[3];
 | 
						|
 | 
						|
    ubufa[3].a[3];
 | 
						|
    ubufa[3].b[3];
 | 
						|
    bufa[3].a[3];
 | 
						|
    bufa[3].b[3];
 | 
						|
 | 
						|
    aua[3];
 | 
						|
    aub[3];
 | 
						|
    aba[3];
 | 
						|
    abb[3];
 | 
						|
 | 
						|
    ubuf.a[i];             // ERROR
 | 
						|
    ubuf.b[i];             // ERROR
 | 
						|
    buf.a[i];              // ERROR
 | 
						|
    buf.b[i];
 | 
						|
 | 
						|
    ubuf.a.length();       // ERROR
 | 
						|
    ubuf.b.length();       // ERROR
 | 
						|
    buf.a.length();        // ERROR
 | 
						|
    buf.b.length();
 | 
						|
 | 
						|
    ubufa[1].a[i];         // ERROR
 | 
						|
    ubufa[1].b[i];         // ERROR
 | 
						|
    bufa[1].a[i];          // ERROR
 | 
						|
    bufa[1].b[i];
 | 
						|
 | 
						|
    ubufa[1].a.length();   // ERROR
 | 
						|
    ubufa[1].b.length();   // ERROR
 | 
						|
    bufa[1].a.length();    // ERROR
 | 
						|
    bufa[1].b.length();
 | 
						|
 | 
						|
    aua[i];                // ERROR
 | 
						|
    aub[i];                // ERROR
 | 
						|
    aba[i];                // ERROR
 | 
						|
    abb[i];
 | 
						|
 | 
						|
    aua.length();          // ERROR
 | 
						|
    aub.length();          // ERROR
 | 
						|
    aba.length();          // ERROR
 | 
						|
    abb.length();
 | 
						|
 | 
						|
    uniformTexelBufferDyn[1];
 | 
						|
    storageTexelBufferDyn[1];
 | 
						|
    uniformBuffer[1];
 | 
						|
    storageBuffer[1];
 | 
						|
    sampledImage[1];
 | 
						|
    storageImage[1];
 | 
						|
    uniformTexelBuffer[1];
 | 
						|
    storageTexelBuffer[1];
 | 
						|
 | 
						|
    uniformTexelBufferDyn[i];  // ERROR, need extension
 | 
						|
    storageTexelBufferDyn[i];  // ERROR, need extension
 | 
						|
    uniformBuffer[i];          // ERROR, need extension
 | 
						|
    storageBuffer[i];          // ERROR, need extension
 | 
						|
    sampledImage[i];           // ERROR, need extension
 | 
						|
    storageImage[i];           // ERROR, need extension
 | 
						|
    uniformTexelBuffer[i];     // ERROR, need extension
 | 
						|
    storageTexelBuffer[i];     // ERROR, need extension
 | 
						|
}
 |