Module: Mesa Branch: master Commit: c0de7c21a352dc5ea556df0397d0b34559bb89c2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0de7c21a352dc5ea556df0397d0b34559bb89c2
Author: Kristian H. Kristensen <[email protected]> Date: Mon Dec 10 18:14:34 2018 +0000 glapi: fixup EXT_multisampled_render_to_texture dispatch There's a few missing and convoluted bits: - FramebufferTexture2DMultisampleEXT Missing sanity check, should be desktop="false" - RenderbufferStorageMultisampleEXT Missing sanity check, is aliased to RenderbufferStorageMultisample. Thus it's set only when desktop GL or GLES2 v3.0+, while the extension is GLES2 2.0+. If we flip the aliasing we'll break indirect GLX, so loosen the version to 2.0. Not perfect, yet this is the most sane thing I could think of. v2: [Emil] Fixup RenderbufferStorageMultisampleEXT, commmit message Cc: Kristian H. Kristensen <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108974 Fixes: 1b331ae505e ("mesa: Add core support for EXT_multisampled_render_to_texture{,2}") Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Emil Velikov <[email protected]> --- src/mapi/glapi/gen/ARB_framebuffer_object.xml | 10 +++++++++- src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml | 2 +- src/mapi/glapi/gen/es_EXT.xml | 2 ++ src/mapi/glapi/gen/gl_API.xml | 2 -- src/mesa/main/tests/dispatch_sanity.cpp | 6 +++++- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/mapi/glapi/gen/ARB_framebuffer_object.xml b/src/mapi/glapi/gen/ARB_framebuffer_object.xml index bd0793c8ec..295175c881 100644 --- a/src/mapi/glapi/gen/ARB_framebuffer_object.xml +++ b/src/mapi/glapi/gen/ARB_framebuffer_object.xml @@ -172,7 +172,15 @@ <glx rop="4318"/> </function> - <function name="RenderbufferStorageMultisample" es2="3.0"> +<!-- + The EXT aliasee, as part of EXT_multisampled_render_to_texture can + work on GLES 2.0. While the entry point below is only set when + gl || (gles && version > 3.0) + + As such, the entrypoint will be noop, and calling it will do nothing. + Workaround that by loosening the version to 2.0. + --> + <function name="RenderbufferStorageMultisample" es2="2.0"> <param name="target" type="GLenum"/> <param name="samples" type="GLsizei"/> <param name="internalformat" type="GLenum"/> diff --git a/src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml b/src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml index 555b008bd3..d76ecd47d0 100644 --- a/src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml +++ b/src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml @@ -20,7 +20,7 @@ </function> --> - <function name="FramebufferTexture2DMultisampleEXT" es2="2.0"> + <function name="FramebufferTexture2DMultisampleEXT" es2="2.0" desktop="false"> <param name="target" type="GLenum"/> <param name="attachment" type="GLenum"/> <param name="textarget" type="GLenum"/> diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml index bbc4a1a111..917fed62f9 100644 --- a/src/mapi/glapi/gen/es_EXT.xml +++ b/src/mapi/glapi/gen/es_EXT.xml @@ -810,6 +810,8 @@ <enum name="RG8_EXT" value="0x822B"/> </category> +<xi:include href="EXT_multisampled_render_to_texture.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <!-- 111. GL_ANGLE_texture_compression_dxt --> <category name="GL_ANGLE_texture_compression_dxt" number="111"> <enum name="COMPRESSED_RGBA_S3TC_DXT3_ANGLE" value="0x83F2"/> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index f1def8090d..f4d0808f13 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -8175,8 +8175,6 @@ <xi:include href="ARB_robustness.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> -<xi:include href="EXT_multisampled_render_to_texture.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> - <xi:include href="ARB_base_instance.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <category name="GL_ARB_transform_feedback_instanced" number="109"> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index fb2acfbdee..307639a4a4 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -2236,6 +2236,10 @@ const struct function gles2_functions_possible[] = { /* GL_NV_conservative_raster_pre_snap_triangles */ { "glConservativeRasterParameteriNV", 20, -1 }, + /* GL_EXT_multisampled_render_to_texture */ + { "glRenderbufferStorageMultisampleEXT", 20, -1 }, + { "glFramebufferTexture2DMultisampleEXT", 20, -1 }, + { NULL, 0, -1 } }; @@ -2330,7 +2334,7 @@ const struct function gles3_functions_possible[] = { // glProgramParameteri aliases glProgramParameteriEXT in GLES 2 // We check for the aliased -NV version in GLES 2 // { "glReadBuffer", 30, -1 }, - { "glRenderbufferStorageMultisample", 30, -1 }, + // glRenderbufferStorageMultisample aliases glRenderbufferStorageMultisampleEXT in GLES 2 { "glResumeTransformFeedback", 30, -1 }, { "glSamplerParameterf", 30, -1 }, { "glSamplerParameterfv", 30, -1 }, _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
