Account for aliasing exceptions in codegen
authorAlastair Donaldson <afdx@google.com>
Wed, 1 Apr 2020 15:48:46 +0000 (16:48 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 27 Aug 2020 07:00:07 +0000 (03:00 -0400)
Fixes a problem where functions for which aliasing exceptions are in
place (at present this is just glRenderbufferStorageMultisampleEXT)
were not being treated properly in code generation -- their aliased
names were being erroneously used.

Component: Framework

Affects: dEQP-GLES*multisample*

VK-GL-CTS issue: 2291

Change-Id: I5e9caf8828b192d15bb3c91f53a9d09aa9442129

framework/opengl/wrapper/glwInitExtES.inl
scripts/opengl/gen_ext_init.py

index b5ad2bb..26962da 100644 (file)
@@ -122,7 +122,7 @@ if (de::contains(extSet, "GL_EXT_texture_border_clamp"))
 if (de::contains(extSet, "GL_EXT_multisampled_render_to_texture"))
 {
        gl->framebufferTexture2DMultisampleEXT  = (glFramebufferTexture2DMultisampleEXTFunc)    loader->get("glFramebufferTexture2DMultisampleEXT");
-       gl->renderbufferStorageMultisample              = (glRenderbufferStorageMultisampleFunc)                loader->get("glRenderbufferStorageMultisampleEXT");
+       gl->renderbufferStorageMultisampleEXT   = (glRenderbufferStorageMultisampleEXTFunc)             loader->get("glRenderbufferStorageMultisampleEXT");
 }
 
 if (de::contains(extSet, "GL_EXT_debug_marker"))
index 321707e..db91765 100644 (file)
@@ -53,7 +53,7 @@ def genExtensions (registry, iface, api):
                yield "{"
 
                def genInit (command):
-                       ifaceName = command.alias.name if command.alias else command.name
+                       ifaceName = command.alias.name if command.alias and command.name not in ALIASING_EXCEPTIONS else command.name
                        return "gl->%s\t= (%s)\tloader->get(\"%s\");" % (
                                getFunctionMemberName(ifaceName),
                                getFunctionTypeName(ifaceName),