[Mesa-dev] [PATCH 1/2] mesa: Don't advertise GLES 3.1 without compute support
Daniel Scharrer
daniel at constexpr.org
Tue Apr 19 14:57:06 UTC 2016
The MaxComputeWorkGroupInvocations constant is used in
compute_version_es2() instead of extensions->ARB_compute_shader
as ES has lower requirements than desktop GL.
Both i965 and gallium set this constant before enabling compute support.
Signed-off-by: Daniel Scharrer <daniel at constexpr.org>
---
This currently causes radeonsi to erroneously report GLES 3.1 support
as compute is the last missing part.
Even if the radeonsi compute patches land soon, they depend on a new
LLVM version (and for SI also new kernel), and this may affect other
drivers in the future.
Tested on radeonsi only.
I don't have commit access, so if this patch is acceptable someone else
will need to push it.
src/mesa/main/context.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 6af02d1..f690799 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -708,7 +708,8 @@ _mesa_init_constants(struct gl_constants *consts, gl_api api)
consts->MaxComputeWorkGroupSize[0] = 1024;
consts->MaxComputeWorkGroupSize[1] = 1024;
consts->MaxComputeWorkGroupSize[2] = 64;
- consts->MaxComputeWorkGroupInvocations = 1024;
+ /* Enables compute support for GLES 3.1 if >= 128 */
+ consts->MaxComputeWorkGroupInvocations = 0;
/** GL_ARB_gpu_shader5 */
consts->MinFragmentInterpolationOffset = MIN_FRAGMENT_INTERPOLATION_OFFSET;
--
2.8.1
More information about the mesa-dev
mailing list