diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2021-05-01 17:49:57 -0400 |
---|---|---|
committer | Ilia Mirkin <imirkin@alum.mit.edu> | 2021-06-06 15:43:02 -0400 |
commit | 584799d6a3c2595aa8191d0fcd7b57bc545c7011 (patch) | |
tree | 1c9efb8047abba4963d4604720ae678f3bee60b4 /src/mesa/main | |
parent | 00c46fec4328c9e759cb75a45c7aa993b643bc66 (diff) |
mesa: relax ES 3.1 compute shader requirements
The desktop extensions require more than what's needed for ES 3.1.
Reduce this to allow implementations to expose ES 3.1 without supporting
desktop functionality.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10569>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/version.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index 4822cb9b772..3b37b135184 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -541,7 +541,10 @@ compute_version_es2(const struct gl_extensions *extensions, extensions->OES_depth_texture_cube_map && extensions->EXT_texture_type_2_10_10_10_REV); const bool es31_compute_shader = - consts->MaxComputeWorkGroupInvocations >= 128; + consts->MaxComputeWorkGroupInvocations >= 128 && + consts->Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks && + consts->Program[MESA_SHADER_COMPUTE].MaxAtomicBuffers && + consts->Program[MESA_SHADER_COMPUTE].MaxImageUniforms; const bool ver_3_1 = (ver_3_0 && consts->MaxVertexAttribStride >= 2048 && extensions->ARB_arrays_of_arrays && @@ -549,10 +552,6 @@ compute_version_es2(const struct gl_extensions *extensions, extensions->ARB_draw_indirect && extensions->ARB_explicit_uniform_location && extensions->ARB_framebuffer_no_attachments && - extensions->ARB_shader_atomic_counters && - extensions->ARB_shader_image_load_store && - extensions->ARB_shader_image_size && - extensions->ARB_shader_storage_buffer_object && extensions->ARB_shading_language_packing && extensions->ARB_stencil_texturing && extensions->ARB_texture_multisample && @@ -560,6 +559,14 @@ compute_version_es2(const struct gl_extensions *extensions, extensions->MESA_shader_integer_functions && extensions->EXT_shader_integer_mix); const bool ver_3_2 = (ver_3_1 && + /* ES 3.2 requires that images/buffers be accessible + * from fragment shaders as well + */ + extensions->ARB_shader_atomic_counters && + extensions->ARB_shader_image_load_store && + extensions->ARB_shader_image_size && + extensions->ARB_shader_storage_buffer_object && + extensions->EXT_draw_buffers2 && extensions->KHR_blend_equation_advanced && extensions->KHR_robustness && |