1617a3babSopenharmony_ci#version 450 2617a3babSopenharmony_ci 3617a3babSopenharmony_ci#define MAX_VER 81 4617a3babSopenharmony_ci#define MAX_PRIM 32 5617a3babSopenharmony_ci#define MAX_VIEWS gl_MaxMeshViewCountNV 6617a3babSopenharmony_ci 7617a3babSopenharmony_ci#extension GL_NV_mesh_shader : enable 8617a3babSopenharmony_ci 9617a3babSopenharmony_cilayout(local_size_x = 32) in; 10617a3babSopenharmony_ci 11617a3babSopenharmony_cilayout(max_vertices=MAX_VER) out; 12617a3babSopenharmony_cilayout(max_primitives=MAX_PRIM) out; 13617a3babSopenharmony_cilayout(triangles) out; 14617a3babSopenharmony_ci 15617a3babSopenharmony_ci// test error checks for use of incorrect per-view attributes 16617a3babSopenharmony_ci 17617a3babSopenharmony_ci// per-view block attributes 18617a3babSopenharmony_ciperviewNV layout(location=0) out perviewBlock { 19617a3babSopenharmony_ci vec4 missingInnermostDimSize1[][]; 20617a3babSopenharmony_ci vec4 incorrectViewDimSize1[MAX_VIEWS+1]; 21617a3babSopenharmony_ci vec4 missingViewDim1; 22617a3babSopenharmony_ci} b2[]; 23617a3babSopenharmony_ci 24617a3babSopenharmony_ci// per-view non-block attributes 25617a3babSopenharmony_ciperviewNV layout(location=10) out vec4 missingInnermostDimSize2[][][]; 26617a3babSopenharmony_ciperviewNV layout(location=11) out vec4 incorrectViewDimSize2[][MAX_VIEWS-1]; 27617a3babSopenharmony_ciperviewNV layout(location=12) out vec4 missingViewDim2[]; 28617a3babSopenharmony_ci 29617a3babSopenharmony_civoid main() 30617a3babSopenharmony_ci{ 31617a3babSopenharmony_ci} 32617a3babSopenharmony_ci 33