From 757bc6d37a69bafd31f1f240f4f490d51288ba1e Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Mon, 19 Apr 2021 13:59:30 +0200 Subject: [PATCH] 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 Reviewed-by: Emil Velikov Part-of: --- .../drivers/llvmpipe/ci/llvmpipe-quick_gl.txt | 8 ------ .../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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 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 },