docs: GL_ARB_compute_shader is not a ES extension

Without this commit, GL_ARB_compute_shader appears as both an OpenGL
and an OpenGL ES extension.

But this is not an OpenGL ES extension. One of the main differences is
that the minimum value for WORK_GROUP_INVOCATIONS on
GL_ARB_compute_shader is 1024, while the minimum value required for
the OpenGL ES 3.1 spec is 128. So for example, both v3d and panfrost
doesn't expose ARB_compute_shader, while it supports compute shader on
OpenGL 3.1, so the docs are wrong.

I guess that the reason of re-using ARB_compute_shader is because
there isn't an OES compute shader extension. There was an EXT
extension though, so this is similar to geometry shader, where there
you had ARB_geometry_shader4, but it was superseded by OpenGL
3.2. This commit follows geometry shader approach, and just adds a
"Compute shader" feature on OpenGL ES 3.1

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37131>
This commit is contained in:
Alejandro Piñeiro 2025-09-01 01:36:04 +02:00
parent 262baafe27
commit 388f9ccd97

View file

@ -171,7 +171,7 @@ GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, v
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
GL_ARB_clear_buffer_object DONE (all drivers)
GL_ARB_compute_shader DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+)
GL_ARB_compute_shader DONE (freedreno/a5xx+, softpipe, crocus/gen7+)
GL_ARB_copy_image DONE (freedreno/a6xx, nv50, softpipe, v3d, panfrost, crocus)
GL_KHR_debug DONE (all drivers)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
@ -244,7 +244,6 @@ These are the extensions cherry-picked to make GLES 3.1
GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe, zink, panfrost, d3d12, iris, crocus/gen7.5+, asahi
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
GL_ARB_compute_shader DONE (freedreno/a5xx+, crocus/gen7+)
GL_ARB_draw_indirect DONE (freedreno, crocus/gen7+)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, crocus/gen7+, etnaviv)
@ -264,10 +263,11 @@ GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, nvc0, r600, radeonsi, virgl,
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
Additional functionality not covered above:
Compute shader DONE (crocus/gen7+, v3d)
glMemoryBarrierByRegion DONE
glGetTexLevelParameter[fi]v - needs updates DONE
glGetBooleani_v - restrict to GLES enums
gl_HelperInvocation support DONE (r600, panfrost, crocus)
gl_HelperInvocation support DONE (r600, crocus)
GLES3.2, GLSL ES 3.2 -- all DONE: freedreno/a6xx, radeonsi, virgl, llvmpipe, zink, iris, crocus/gen7.5+, asahi