1617a3babSopenharmony_ci#version 450 core 2617a3babSopenharmony_ci 3617a3babSopenharmony_ciout gl_PerVertex { 4617a3babSopenharmony_ci float gl_CullDistance[3]; 5617a3babSopenharmony_ci}; 6617a3babSopenharmony_ci 7617a3babSopenharmony_civoid main() 8617a3babSopenharmony_ci{ 9617a3babSopenharmony_ci gl_CullDistance[2] = 4.5; 10617a3babSopenharmony_ci} 11617a3babSopenharmony_ci 12617a3babSopenharmony_ciout bool outb; // ERROR 13617a3babSopenharmony_ciout sampler2D outo; // ERROR 14617a3babSopenharmony_ciout float outa[4]; 15617a3babSopenharmony_ciout float outaa[4][2]; 16617a3babSopenharmony_cistruct S { float f; }; 17617a3babSopenharmony_ciout S outs; 18617a3babSopenharmony_ciout S[4] outasa; 19617a3babSopenharmony_ciout S outsa[4]; 20617a3babSopenharmony_cistruct SA { float f[4]; }; 21617a3babSopenharmony_ciout SA outSA; 22617a3babSopenharmony_cistruct SS { float f; S s; }; 23617a3babSopenharmony_ciout SS outSS; 24617a3babSopenharmony_ci 25617a3babSopenharmony_cilayout(binding = 0) uniform atomic_uint aui; 26617a3babSopenharmony_ciuint ui; 27617a3babSopenharmony_ci 28617a3babSopenharmony_civoid foo() 29617a3babSopenharmony_ci{ 30617a3babSopenharmony_ci SS::f; 31617a3babSopenharmony_ci atomicCounterAdd(aui, ui); // ERROR, need 4.6 32617a3babSopenharmony_ci atomicCounterSubtract(aui, ui); // ERROR, need 4.6 33617a3babSopenharmony_ci atomicCounterMin(aui, ui); // ERROR, need 4.6 34617a3babSopenharmony_ci atomicCounterMax(aui, ui); // ERROR, need 4.6 35617a3babSopenharmony_ci atomicCounterAnd(aui, ui); // ERROR, need 4.6 36617a3babSopenharmony_ci atomicCounterOr(aui, ui); // ERROR, need 4.6 37617a3babSopenharmony_ci atomicCounterXor(aui, ui); // ERROR, need 4.6 38617a3babSopenharmony_ci atomicCounterExchange(aui, ui); // ERROR, need 4.6 39617a3babSopenharmony_ci atomicCounterCompSwap(aui, ui, ui); // ERROR, need 4.6 40617a3babSopenharmony_ci 41617a3babSopenharmony_ci int a = gl_BaseVertex + gl_BaseInstance + gl_DrawID; // ERROR, need 4.6 42617a3babSopenharmony_ci 43617a3babSopenharmony_ci bool b1; 44617a3babSopenharmony_ci anyInvocation(b1); // ERROR, need 4.6 45617a3babSopenharmony_ci allInvocations(b1); // ERROR, need 4.6 46617a3babSopenharmony_ci allInvocationsEqual(b1); // ERROR, need 4.6 47617a3babSopenharmony_ci} 48617a3babSopenharmony_ci; // ERROR: no extraneous semicolons 49617a3babSopenharmony_ci 50617a3babSopenharmony_cilayout(location = 0) uniform locBlock { // ERROR, no location uniform block 51617a3babSopenharmony_ci int a; 52617a3babSopenharmony_ci}; 53617a3babSopenharmony_ci 54617a3babSopenharmony_cilayout(location = 0) buffer locBuffBlock { // ERROR, no location on buffer block 55617a3babSopenharmony_ci int b; 56617a3babSopenharmony_ci}; 57