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 <hoegsberg@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108974
Fixes: 1b331ae505
("mesa: Add core support for EXT_multisampled_render_to_texture{,2}")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:

committed by
Kristian H. Kristensen

parent
9578dde1c8
commit
c0de7c21a3
@@ -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"/>
|
||||
|
@@ -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"/>
|
||||
|
@@ -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"/>
|
||||
|
@@ -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">
|
||||
|
@@ -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 },
|
||||
|
Reference in New Issue
Block a user