Adds XML for the extension, dispatch_sanity enabling, and the two new entrypoints. These are both implemented by calling the shared teximagemultisample() with immutable=GL_TRUE.
Signed-off-by: Chris Forbes <chr...@ijw.co.nz> --- .../glapi/gen/ARB_texture_storage_multisample.xml | 31 ++++++++++++++++++++++ src/mapi/glapi/gen/gl_API.xml | 4 +++ src/mesa/main/tests/dispatch_sanity.cpp | 4 +-- src/mesa/main/teximage.c | 20 ++++++++++++++ src/mesa/main/teximage.h | 11 ++++++++ 5 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 src/mapi/glapi/gen/ARB_texture_storage_multisample.xml diff --git a/src/mapi/glapi/gen/ARB_texture_storage_multisample.xml b/src/mapi/glapi/gen/ARB_texture_storage_multisample.xml new file mode 100644 index 0000000..ebd8965 --- /dev/null +++ b/src/mapi/glapi/gen/ARB_texture_storage_multisample.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + +<OpenGLAPI> + +<category name="GL_ARB_texture_storage_multisample" number="141"> + + <function name="TexStorage2DMultisample" offset="assign"> + <param name="target" type="GLenum"/> + <param name="samples" type="GLsizei"/> + <param name="internalformat" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="fixedsamplelocations" type="GLboolean"/> + </function> + + <function name="TexStorage3DMultisample" offset="assign"> + <param name="target" type="GLenum"/> + <param name="samples" type="GLsizei"/> + <param name="internalformat" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="fixedsamplelocations" type="GLboolean"/> + </function> + +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 75957dc..df95924 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -8321,6 +8321,10 @@ <xi:include href="ARB_texture_buffer_range.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<!-- 140. GL_ARB_texture_query_levels --> + +<xi:include href="ARB_texture_storage_multisample.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <!-- Non-ARB extensions sorted by extension number. --> <category name="GL_EXT_blend_color" number="2"> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 3431ded..ffd83fe 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -895,8 +895,8 @@ const struct function gl_core_functions_possible[] = { // { "glShaderStorageBlockBinding", 43, -1 }, // XXX: Add to xml { "glTexBufferRange", 43, -1 }, // { "glTextureBufferRangeEXT", 43, -1 }, // XXX: Add to xml -// { "glTexStorage2DMultisample", 43, -1 }, // XXX: Add to xml -// { "glTexStorage3DMultisample", 43, -1 }, // XXX: Add to xml + { "glTexStorage2DMultisample", 43, -1 }, + { "glTexStorage3DMultisample", 43, -1 }, // { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml // { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 0cd4beb..c499b90 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -4330,3 +4330,23 @@ _mesa_TexImage3DMultisample(GLenum target, GLsizei samples, teximagemultisample(3, target, samples, internalformat, width, height, depth, fixedsamplelocations, GL_FALSE); } + + +void GLAPIENTRY +_mesa_TexStorage2DMultisample(GLenum target, GLsizei samples, + GLint internalformat, GLsizei width, + GLsizei height, GLboolean fixedsamplelocations) +{ + teximagemultisample(2, target, samples, internalformat, + width, height, 1, fixedsamplelocations, GL_TRUE); +} + +void GLAPIENTRY +_mesa_TexStorage3DMultisample(GLenum target, GLsizei samples, + GLint internalformat, GLsizei width, + GLsizei height, GLsizei depth, + GLboolean fixedsamplelocations) +{ + teximagemultisample(3, target, samples, internalformat, + width, height, depth, fixedsamplelocations, GL_TRUE); +} diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index 744c47a..cedd933 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -305,6 +305,17 @@ _mesa_TexImage3DMultisample(GLenum target, GLsizei samples, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +extern void GLAPIENTRY +_mesa_TexStorage2DMultisample(GLenum target, GLsizei samples, + GLint internalformat, GLsizei width, + GLsizei height, GLboolean fixedsamplelocations); + +extern void GLAPIENTRY +_mesa_TexStorage3DMultisample(GLenum target, GLsizei samples, + GLint internalformat, GLsizei width, + GLsizei height, GLsizei depth, + GLboolean fixedsamplelocations); + /*@}*/ #ifdef __cplusplus -- 1.8.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev