diff --git a/src/mapi/glapi/gen/ARB_sparse_texture.xml b/src/mapi/glapi/gen/ARB_sparse_texture.xml
new file mode 100644
index 00000000000..e48e6c2c103
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_sparse_texture.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index b0c27aa3aee..e5ca7af29cb 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8362,7 +8362,11 @@
-
+
+
+
+
+
diff --git a/src/mapi/glapi/gen/meson.build b/src/mapi/glapi/gen/meson.build
index 1ad42b3a40a..1b807585d1a 100644
--- a/src/mapi/glapi/gen/meson.build
+++ b/src/mapi/glapi/gen/meson.build
@@ -82,6 +82,7 @@ api_xml_files = files(
'ARB_shader_subroutine.xml',
'ARB_shader_storage_buffer_object.xml',
'ARB_sparse_buffer.xml',
+ 'ARB_sparse_texture.xml',
'ARB_spirv_extensions.xml',
'ARB_sync.xml',
'ARB_tessellation_shader.xml',
diff --git a/src/mapi/glapi/gen/static_data.py b/src/mapi/glapi/gen/static_data.py
index 6accff1b231..c634304d925 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,
+ "TexPageCommitmentARB": 1656,
+ "TexturePageCommitmentEXT": 1657,
}
functions = [
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index 423258cc197..9ab2f8ef804 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -142,6 +142,7 @@ EXT(ARB_shading_language_include , dummy_true
EXT(ARB_shading_language_packing , ARB_shading_language_packing , GLL, GLC, x , x , 2011)
EXT(ARB_shadow , ARB_shadow , GLL, x , x , x , 2001)
EXT(ARB_sparse_buffer , ARB_sparse_buffer , GLL, GLC, x , x , 2014)
+EXT(ARB_sparse_texture , ARB_sparse_texture , GLL, GLC, x , x , 2013)
EXT(ARB_spirv_extensions , ARB_spirv_extensions , GLL, GLC, x , x , 2016)
EXT(ARB_stencil_texturing , ARB_stencil_texturing , GLL, GLC, x , x , 2012)
EXT(ARB_sync , ARB_sync , GLL, GLC, x , x , 2003)
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 57c7da204bb..b26b2929bfa 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4419,6 +4419,7 @@ struct gl_extensions
GLboolean ARB_shading_language_420pack;
GLboolean ARB_shadow;
GLboolean ARB_sparse_buffer;
+ GLboolean ARB_sparse_texture;
GLboolean ARB_stencil_texturing;
GLboolean ARB_spirv_extensions;
GLboolean ARB_sync;
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index d5fce2fb5f8..0f0700cb548 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -2343,4 +2343,20 @@ _mesa_InvalidateTexImage(GLuint texture, GLint level)
return;
}
+void GLAPIENTRY
+_mesa_TexPageCommitmentARB(GLenum target, GLint level, GLint xoffset,
+ GLint yoffset, GLint zoffset, GLsizei width,
+ GLsizei height, GLsizei depth, GLboolean commit)
+{
+
+}
+
+void GLAPIENTRY
+_mesa_TexturePageCommitmentEXT(GLuint texture, GLint level, GLint xoffset,
+ GLint yoffset, GLint zoffset, GLsizei width,
+ GLsizei height, GLsizei depth, GLboolean commit)
+{
+
+}
+
/*@}*/
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 0c56b609568..b8a503ef0fd 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -812,6 +812,7 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(ARB_shader_texture_lod), PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD },
{ o(ARB_shadow), PIPE_CAP_TEXTURE_SHADOW_MAP },
{ o(ARB_sparse_buffer), PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE },
+ { o(ARB_sparse_texture), PIPE_CAP_MAX_SPARSE_TEXTURE_SIZE },
{ o(ARB_spirv_extensions), PIPE_CAP_GL_SPIRV },
{ o(ARB_texture_buffer_object), PIPE_CAP_TEXTURE_BUFFER_OBJECTS },
{ o(ARB_texture_cube_map_array), PIPE_CAP_CUBE_MAP_ARRAY },