Mesa (main): mesa: fix GL_MAX_SAMPLES with GLES2

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Dec 11 02:11:33 UTC 2021


Module: Mesa
Branch: main
Commit: 013900c4d231e3d9e976d2e03a1e49825cc16f99
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=013900c4d231e3d9e976d2e03a1e49825cc16f99

Author: Erico Nunes <nunes.erico at gmail.com>
Date:   Fri Nov 26 19:59:29 2021 +0100

mesa: fix GL_MAX_SAMPLES with GLES2

EXT_multisampled_render_to_texture on GLES2 allows the
GL_MAX_SAMPLES_EXT enum to be used.

Move the condition from the GLES3 section to the GLES2 one so
that it stops returning GL_INVALID_ENUM in that case.

Signed-off-by: Erico Nunes <nunes.erico at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13967>

---

 src/mesa/main/get.c                     | 8 +++++++-
 src/mesa/main/get_hash_params.py        | 6 +++---
 src/panfrost/ci/panfrost-t720-fails.txt | 1 -
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 8bdd07eb184..0138da5f393 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -516,6 +516,13 @@ static const int extra_ARB_timer_query_or_EXT_disjoint_timer_query[] = {
    EXTRA_END
 };
 
+static const int extra_ARB_framebuffer_object_or_EXT_framebuffer_multisample_or_EXT_multisampled_render_to_texture[] = {
+   EXT(ARB_framebuffer_object),
+   EXT(EXT_framebuffer_multisample),
+   EXT(EXT_multisampled_render_to_texture),
+   EXTRA_END
+};
+
 EXTRA_EXT(ARB_texture_cube_map);
 EXTRA_EXT(EXT_texture_array);
 EXTRA_EXT(NV_fog_distance);
@@ -529,7 +536,6 @@ EXTRA_EXT(ATI_fragment_shader);
 EXTRA_EXT(EXT_provoking_vertex);
 EXTRA_EXT(ARB_fragment_shader);
 EXTRA_EXT(ARB_fragment_program);
-EXTRA_EXT2(ARB_framebuffer_object, EXT_framebuffer_multisample);
 EXTRA_EXT(ARB_seamless_cube_map);
 EXTRA_EXT(ARB_sync);
 EXTRA_EXT(ARB_vertex_shader);
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index 68c4356a2f4..f0782c75ffc 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -391,6 +391,9 @@ descriptor=[
 # GL_EXT_pixel_buffer_object
   [ "PIXEL_PACK_BUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object" ],
   [ "PIXEL_UNPACK_BUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object" ],
+
+# GL_ARB_framebuffer_object or GL_EXT_framebuffer_multisample or GL_EXT_multisampled_render_to_texture
+  [ "MAX_SAMPLES", "CONTEXT_INT(Const.MaxSamples), extra_ARB_framebuffer_object_or_EXT_framebuffer_multisample_or_EXT_multisampled_render_to_texture" ],
 ]},
 
 # GLES3 is not a typo.
@@ -421,9 +424,6 @@ descriptor=[
 # GL_ARB_fragment_shader
   [ "MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxUniformComponents), extra_ARB_fragment_shader" ],
 
-# GL_ARB_framebuffer_object
-  [ "MAX_SAMPLES", "CONTEXT_INT(Const.MaxSamples), extra_ARB_framebuffer_object_EXT_framebuffer_multisample" ],
-
 # GL_ARB_sampler_objects / GL 3.3 / GLES 3.0
   [ "SAMPLER_BINDING", "LOC_CUSTOM, TYPE_INT, GL_SAMPLER_BINDING, NO_EXTRA" ],
 
diff --git a/src/panfrost/ci/panfrost-t720-fails.txt b/src/panfrost/ci/panfrost-t720-fails.txt
index 01722524f43..0cd4a59bec0 100644
--- a/src/panfrost/ci/panfrost-t720-fails.txt
+++ b/src/panfrost/ci/panfrost-t720-fails.txt
@@ -20,7 +20,6 @@ dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81,Fail
 dEQP-GLES2.functional.fragment_ops.random.43,Fail
 dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb_half_float_oes,Fail
 dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgba_half_float_oes,Fail
-dEQP-GLES2.functional.multisampled_render_to_texture.readpixels,Fail
 dEQP-GLES2.functional.shaders.texture_functions.vertex.texturecubelod,Fail
 dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear,Fail
 dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest,Fail



More information about the mesa-commit mailing list