123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #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
- float local[] = ubuf.b; // ERROR, can initialize with runtime-sized array
- }
|