Mesa (main): mesa: Add support for EXT_clear_texture

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Aug 6 16:45:56 UTC 2021


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

Author: Gert Wollny <gert.wollny at collabora.com>
Date:   Mon Apr 19 13:59:30 2021 +0200

mesa: Add support for EXT_clear_texture

This extension implements a subset of ARB_clear_texture (i.e.
only the features that are not available in OpenGL ES have been
dropped).

v2: Move call declarations from function to offsets  (Emil)

v3: Update llvmpipe and softpipe expectations

Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10325>

---

 .../drivers/llvmpipe/ci/llvmpipe-quick_gl.txt      |  8 -------
 src/gallium/drivers/softpipe/ci/softpipe-quick.txt |  7 ------
 src/mapi/glapi/gen/es_EXT.xml                      | 26 ++++++++++++++++++++++
 src/mapi/glapi/gen/static_data.py                  |  2 ++
 src/mesa/main/extensions_table.h                   |  1 +
 src/mesa/main/tests/dispatch_sanity.cpp            |  4 ++++
 6 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt
index 0eb1dc2b786..e1790960b8c 100644
--- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt
+++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt
@@ -795,14 +795,6 @@ spec/egl_khr_fence_sync/conformance/eglcreatesynckhr_wrong_display_same_thread:
 spec/egl_khr_gl_image/egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24: fail
 spec/egl_nok_swap_region/basic: skip
 spec/egl_nok_texture_from_pixmap/basic: skip
-spec/ext_clear_texture/ext_clear_texture-3d: skip
-spec/ext_clear_texture/ext_clear_texture-base-formats: skip
-spec/ext_clear_texture/ext_clear_texture-clear-max-level: skip
-spec/ext_clear_texture/ext_clear_texture-cube: skip
-spec/ext_clear_texture/ext_clear_texture-error: skip
-spec/ext_clear_texture/ext_clear_texture-multisample: skip
-spec/ext_clear_texture/ext_clear_texture-stencil: skip
-spec/ext_clear_texture/ext_clear_texture-texview: skip
 spec/ext_depth_bounds_test/depth_bounds: skip
 spec/ext_direct_state_access/indexed-state-queries 12/getdoublei_vext: skip
 spec/ext_direct_state_access/indexed-state-queries 12/getfloati_vext: skip
diff --git a/src/gallium/drivers/softpipe/ci/softpipe-quick.txt b/src/gallium/drivers/softpipe/ci/softpipe-quick.txt
index 940185cb908..00d5c8a3469 100644
--- a/src/gallium/drivers/softpipe/ci/softpipe-quick.txt
+++ b/src/gallium/drivers/softpipe/ci/softpipe-quick.txt
@@ -1836,14 +1836,7 @@ spec/egl_khr_fence_sync/conformance/eglcreatesynckhr_wrong_display_same_thread:
 spec/egl_khr_gl_image/egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24: fail
 spec/egl_nok_swap_region/basic: skip
 spec/egl_nok_texture_from_pixmap/basic: skip
-spec/ext_clear_texture/ext_clear_texture-3d: skip
-spec/ext_clear_texture/ext_clear_texture-base-formats: skip
-spec/ext_clear_texture/ext_clear_texture-clear-max-level: skip
-spec/ext_clear_texture/ext_clear_texture-cube: skip
-spec/ext_clear_texture/ext_clear_texture-error: skip
 spec/ext_clear_texture/ext_clear_texture-multisample: skip
-spec/ext_clear_texture/ext_clear_texture-stencil: skip
-spec/ext_clear_texture/ext_clear_texture-texview: skip
 spec/ext_demote_to_helper_invocation/execution/demote: skip
 spec/ext_demote_to_helper_invocation/execution/demote_with_derivatives: skip
 spec/ext_direct_state_access/indexed-state-queries 12/getdoublei_vext: skip
diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
index 929b40bbd4a..e96f5b83f71 100644
--- a/src/mapi/glapi/gen/es_EXT.xml
+++ b/src/mapi/glapi/gen/es_EXT.xml
@@ -1295,6 +1295,32 @@
 
 </category>
 
+<category name="GL_EXT_clear_texture" number="269">
+
+    <function name ="ClearTexImageEXT" es2="3.1" alias="ClearTexImage">
+        <param name="texture" type="GLuint"/>
+        <param name="level" type="GLint"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function>
+
+    <function name ="ClearTexSubImageEXT" es2="3.1" alias="ClearTexSubImage">
+        <param name="texture" type="GLuint"/>
+        <param name="level" type="GLint"/>
+        <param name="xoffset" type="GLint"/>
+        <param name="yoffset" type="GLint"/>
+        <param name="zoffset" type="GLint"/>
+        <param name="width" type="GLsizei"/>
+        <param name="height" type="GLsizei"/>
+        <param name="depth" type="GLsizei"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function>
+
+</category>
+
 <category name="GL_EXT_clip_control" number="290">
 
     <enum name="LOWER_LEFT_EXT" value = "0x8CA1"/>
diff --git a/src/mapi/glapi/gen/static_data.py b/src/mapi/glapi/gen/static_data.py
index 6accff1b231..711624ca793 100644
--- a/src/mapi/glapi/gen/static_data.py
+++ b/src/mapi/glapi/gen/static_data.py
@@ -1689,6 +1689,8 @@ offsets = {
     "VertexAttribs2hvNV": 1653,
     "VertexAttribs3hvNV": 1654,
     "VertexAttribs4hvNV": 1655,
+    "ClearTexImageEXT": 1656,
+    "ClearTexSubImageEXT": 1657,
 }
 
 functions = [
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index a09b58afbb5..f552efe3ed5 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -219,6 +219,7 @@ EXT(EXT_blend_func_separate                 , EXT_blend_func_separate
 EXT(EXT_blend_minmax                        , EXT_blend_minmax                       , GLL,  x , ES1, ES2, 1995)
 EXT(EXT_blend_subtract                      , dummy_true                             , GLL,  x ,  x ,  x , 1995)
 EXT(EXT_buffer_storage                      , ARB_buffer_storage                     ,  x ,  x ,  x ,  31, 2015)
+EXT(EXT_clear_texture                       , ARB_clear_texture                      ,  x ,  x ,  x ,  31, 2016)
 EXT(EXT_clip_control                        , ARB_clip_control                       ,  x ,  x ,  x , ES2, 2017)
 EXT(EXT_clip_cull_distance                  , ARB_cull_distance                      ,  x ,  x ,  x ,  30, 2016)
 EXT(EXT_color_buffer_float                  , dummy_true                             ,  x ,  x ,  x ,  30, 2013)
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index aef00081744..6ab9e05835e 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -2497,6 +2497,10 @@ const struct function gles2_functions_possible[] = {
    { "glGetQueryObjectivEXT", 20, -1 },
    { "glGetQueryObjectuivEXT", 20, -1 },
 
+   /* GL_EXT_clear_texture */
+   { "glClearTexImageEXT", 31, -1 },
+   { "glClearTexSubImageEXT", 31, -1 },
+
    /* GL_EXT_clip_control */
    { "glClipControlEXT", 20, -1 },
 



More information about the mesa-commit mailing list