diff --git a/src/mesa/glapi/glapi/gen/EXT_mesh_shader.xml b/src/mesa/glapi/glapi/gen/EXT_mesh_shader.xml new file mode 100644 index 00000000000..bc23969dc36 --- /dev/null +++ b/src/mesa/glapi/glapi/gen/EXT_mesh_shader.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesa/glapi/glapi/gen/gl_API.xml b/src/mesa/glapi/glapi/gen/gl_API.xml index 48531f74e47..446f505991c 100644 --- a/src/mesa/glapi/glapi/gen/gl_API.xml +++ b/src/mesa/glapi/glapi/gen/gl_API.xml @@ -11123,4 +11123,7 @@ + + + diff --git a/src/mesa/glapi/glapi/gen/static_data.py b/src/mesa/glapi/glapi/gen/static_data.py index 179d238da65..0d128889870 100644 --- a/src/mesa/glapi/glapi/gen/static_data.py +++ b/src/mesa/glapi/glapi/gen/static_data.py @@ -1632,6 +1632,10 @@ all_functions = [ "CreateSemaphoresNV", "GetSemaphoreParameterivNV", "SemaphoreParameterivNV", + "DrawMeshTasksEXT", + "DrawMeshTasksIndirectEXT", + "MultiDrawMeshTasksIndirectEXT", + "MultiDrawMeshTasksIndirectCountEXT", # Keep these last. They are never used by any app. "ColorTable", diff --git a/src/mesa/glapi/meson.build b/src/mesa/glapi/meson.build index 7b7e9d6eb78..00cae4ebab9 100644 --- a/src/mesa/glapi/meson.build +++ b/src/mesa/glapi/meson.build @@ -96,6 +96,7 @@ glapi_xml_py_deps = files( 'glapi/gen/EXT_external_objects_win32.xml', 'glapi/gen/EXT_framebuffer_object.xml', 'glapi/gen/EXT_gpu_shader4.xml', + 'glapi/gen/EXT_mesh_shader.xml', 'glapi/gen/EXT_multisampled_render_to_texture.xml', 'glapi/gen/EXT_packed_depth_stencil.xml', 'glapi/gen/EXT_provoking_vertex.xml', diff --git a/src/mesa/main/mesh_shader.c b/src/mesa/main/mesh_shader.c new file mode 100644 index 00000000000..094e22b5bd3 --- /dev/null +++ b/src/mesa/main/mesh_shader.c @@ -0,0 +1,39 @@ +/* + * Copyright 2025 Advanced Micro Devices, Inc. + * + * SPDX-License-Identifier: MIT + */ + +#include "mtypes.h" +#include "api_exec_decl.h" + +void GLAPIENTRY +_mesa_DrawMeshTasksEXT(GLuint num_groups_x, + GLuint num_groups_y, + GLuint num_groups_z) +{ + +} + +void GLAPIENTRY +_mesa_DrawMeshTasksIndirectEXT(GLintptr indirect) +{ + +} + +void GLAPIENTRY +_mesa_MultiDrawMeshTasksIndirectEXT(GLintptr indirect, + GLsizei drawcount, + GLsizei stride) +{ + +} + +void GLAPIENTRY +_mesa_MultiDrawMeshTasksIndirectCountEXT(GLintptr indirect, + GLintptr drawcount, + GLsizei maxdrawcount, + GLsizei stride) +{ + +} diff --git a/src/mesa/meson.build b/src/mesa/meson.build index 011ba9108af..d622242226e 100644 --- a/src/mesa/meson.build +++ b/src/mesa/meson.build @@ -135,6 +135,7 @@ files_libmesa = files( 'main/matrix.h', 'main/menums.h', 'main/mesa_private.h', + 'main/mesh_shader.c', 'main/mipmap.c', 'main/mipmap.h', 'main/mtypes.h',