1617a3babSopenharmony_ci#version 450 core 2617a3babSopenharmony_ci 3617a3babSopenharmony_ci#extension GL_EXT_shader_8bit_storage : enable 4617a3babSopenharmony_ci 5617a3babSopenharmony_cistruct S 6617a3babSopenharmony_ci{ 7617a3babSopenharmony_ci int8_t x; 8617a3babSopenharmony_ci i8vec2 y; 9617a3babSopenharmony_ci i8vec3 z; 10617a3babSopenharmony_ci}; 11617a3babSopenharmony_ci 12617a3babSopenharmony_cilayout(column_major, std140) uniform B1 13617a3babSopenharmony_ci{ 14617a3babSopenharmony_ci int8_t a; 15617a3babSopenharmony_ci i8vec2 b; 16617a3babSopenharmony_ci i8vec3 c; 17617a3babSopenharmony_ci int8_t d[2]; 18617a3babSopenharmony_ci S g; 19617a3babSopenharmony_ci S h[2]; 20617a3babSopenharmony_ci int j; 21617a3babSopenharmony_ci} b1; 22617a3babSopenharmony_ci 23617a3babSopenharmony_cilayout(row_major, std430) buffer B2 24617a3babSopenharmony_ci{ 25617a3babSopenharmony_ci int8_t o; 26617a3babSopenharmony_ci i8vec2 p; 27617a3babSopenharmony_ci i8vec3 q; 28617a3babSopenharmony_ci int8_t r[2]; 29617a3babSopenharmony_ci S u; 30617a3babSopenharmony_ci S v[2]; 31617a3babSopenharmony_ci int8_t w[]; 32617a3babSopenharmony_ci} b2; 33617a3babSopenharmony_ci 34617a3babSopenharmony_cistruct S2 { 35617a3babSopenharmony_ci mat4x4 x; 36617a3babSopenharmony_ci int8_t y; 37617a3babSopenharmony_ci int z; 38617a3babSopenharmony_ci}; 39617a3babSopenharmony_ci 40617a3babSopenharmony_cistruct S3 { 41617a3babSopenharmony_ci S2 x; 42617a3babSopenharmony_ci}; 43617a3babSopenharmony_ci 44617a3babSopenharmony_cilayout(row_major, std430) buffer B3 45617a3babSopenharmony_ci{ 46617a3babSopenharmony_ci S2 x; 47617a3babSopenharmony_ci} b3; 48617a3babSopenharmony_ci 49617a3babSopenharmony_cilayout(column_major, std430) buffer B4 50617a3babSopenharmony_ci{ 51617a3babSopenharmony_ci S2 x; 52617a3babSopenharmony_ci} b4; 53617a3babSopenharmony_ci 54617a3babSopenharmony_civoid func3(S2 x) { 55617a3babSopenharmony_ci} 56617a3babSopenharmony_ci 57617a3babSopenharmony_ciS2 func4() { 58617a3babSopenharmony_ci return b4.x; 59617a3babSopenharmony_ci} 60617a3babSopenharmony_ci 61617a3babSopenharmony_ciint func(int8_t a) { 62617a3babSopenharmony_ci return 0; 63617a3babSopenharmony_ci} 64617a3babSopenharmony_ci 65617a3babSopenharmony_cistruct S4 { 66617a3babSopenharmony_ci int x; 67617a3babSopenharmony_ci int8_t y; 68617a3babSopenharmony_ci}; 69617a3babSopenharmony_ci 70617a3babSopenharmony_ciint func2(int a) { return 0; } 71617a3babSopenharmony_ci 72617a3babSopenharmony_civoid main() 73617a3babSopenharmony_ci{ 74617a3babSopenharmony_ci b2.o = b2.q[1]; 75617a3babSopenharmony_ci b2.p = b2.q.xy; 76617a3babSopenharmony_ci b2.o = max(b1.a, b1.a); 77617a3babSopenharmony_ci bvec2 bv = lessThan(b2.p, b2.p); 78617a3babSopenharmony_ci b2.o = b1.a + b1.a; 79617a3babSopenharmony_ci b2.o = -b1.a; 80617a3babSopenharmony_ci b2.o = b1.a + 1; 81617a3babSopenharmony_ci b2.p = b2.p.yx; 82617a3babSopenharmony_ci b4.x = b3.x; 83617a3babSopenharmony_ci int8_t f0; 84617a3babSopenharmony_ci S2 f1; 85617a3babSopenharmony_ci S3 f2; 86617a3babSopenharmony_ci if (b1.a == b1.a) {} 87617a3babSopenharmony_ci b2.r = b2.r; 88617a3babSopenharmony_ci b2.p = i8vec2(3, 4); 89617a3babSopenharmony_ci i8vec2[2](i8vec2(ivec2(1,2)), i8vec2(ivec2(3,4))); 90617a3babSopenharmony_ci // NOT ERRORING YET 91617a3babSopenharmony_ci b3.x; 92617a3babSopenharmony_ci S4(0, int8_t(0)); 93617a3babSopenharmony_ci func2(b1.a); 94617a3babSopenharmony_ci} 95617a3babSopenharmony_ci 96617a3babSopenharmony_ci 97617a3babSopenharmony_cilayout(column_major, std140) uniform B6 98617a3babSopenharmony_ci{ 99617a3babSopenharmony_ci i8mat2x3 e; 100617a3babSopenharmony_ci} b6; 101617a3babSopenharmony_ci 102