1617a3babSopenharmony_ci#version 460 2617a3babSopenharmony_ci#extension GL_EXT_mesh_shader : enable 3617a3babSopenharmony_ci 4617a3babSopenharmony_ci#define MAX_VER 81 5617a3babSopenharmony_ci#define MAX_PRIM 32 6617a3babSopenharmony_ci 7617a3babSopenharmony_cilayout(local_size_x = 1) in; 8617a3babSopenharmony_ci 9617a3babSopenharmony_cilayout(max_vertices=MAX_VER) out; 10617a3babSopenharmony_cilayout(max_primitives=MAX_PRIM) out; 11617a3babSopenharmony_cilayout(triangles) out; 12617a3babSopenharmony_ci 13617a3babSopenharmony_ci// use of storage qualifier "taskPayloadSharedEXT" in mesh shaders: 14617a3babSopenharmony_cistruct taskBlock { 15617a3babSopenharmony_ci int atom1; 16617a3babSopenharmony_ci}; 17617a3babSopenharmony_citaskPayloadSharedEXT taskBlock mytask; 18617a3babSopenharmony_ci 19617a3babSopenharmony_ci 20617a3babSopenharmony_civoid main() { 21617a3babSopenharmony_ci atomicAdd(mytask.atom1, 1); 22617a3babSopenharmony_ci}