Revert override for desktop GL extensions in gl.xml.

Instead override the supported APIs in registry_xml.py, which
will transfer to using the canonical gl.xml. Note these are
desktop-GL-only extensions that ANGLE exposes in GLES:

GL_ARB_sync
GL_NV_robustness_video_memory_purge

Bug: angleproject:6461
Change-Id: I25778149ecfc3cb4be0aca2104c08273c260c564
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3856648
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Jamie Madill
2022-08-25 10:23:32 -04:00
committed by Angle LUCI CQ
parent 5bcfad04de
commit f6842cc2cd
9 changed files with 39 additions and 36 deletions

View File

@@ -20,11 +20,11 @@
"scripts/extension_data/swiftshader_win10_gles1.json":
"fbf1c3dc83570c1e3fffdbee313bca30",
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"scripts/gl_angle_ext.xml":
"37eebedc1153cd9d208efa469a10a7b2",
"scripts/registry_xml.py":
"93fccfa6990a507e62daba66dd78bf8b",
"4d162936baeb7e803561559e11b7fd89",
"src/libANGLE/gen_extensions.py":
"6ea1cb1733c4df98b527bbf2752e118b",
"src/libANGLE/gles_extensions_autogen.cpp":

View File

@@ -4,11 +4,11 @@
"scripts/generate_loader.py":
"101c7ad1f8f1bcd7c1afee3b854913af",
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"scripts/gl_angle_ext.xml":
"37eebedc1153cd9d208efa469a10a7b2",
"scripts/registry_xml.py":
"93fccfa6990a507e62daba66dd78bf8b",
"4d162936baeb7e803561559e11b7fd89",
"src/libEGL/egl_loader_autogen.cpp":
"f8e305c5b9defa9ec419cac1a4c2247c",
"src/libEGL/egl_loader_autogen.h":

View File

@@ -8,11 +8,11 @@
"scripts/generate_entry_points.py":
"8f70fa30bca01140a39e0f512e4d7105",
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"scripts/gl_angle_ext.xml":
"37eebedc1153cd9d208efa469a10a7b2",
"scripts/registry_xml.py":
"93fccfa6990a507e62daba66dd78bf8b",
"4d162936baeb7e803561559e11b7fd89",
"src/common/entry_points_enum_autogen.cpp":
"c78602e4d4280c80bd72299291db1e81",
"src/common/entry_points_enum_autogen.h":

View File

@@ -2,11 +2,11 @@
"scripts/gen_gl_enum_utils.py":
"332cfb6f04242d18966445f70f0039b3",
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"scripts/gl_angle_ext.xml":
"37eebedc1153cd9d208efa469a10a7b2",
"scripts/registry_xml.py":
"93fccfa6990a507e62daba66dd78bf8b",
"4d162936baeb7e803561559e11b7fd89",
"src/libANGLE/capture/gl_enum_utils_autogen.cpp":
"6e6b08183c720c9f5521df6fdc7f2b70",
"src/libANGLE/capture/gl_enum_utils_autogen.h":

View File

@@ -1,10 +1,10 @@
{
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"src/libANGLE/renderer/angle_format.py":
"2f8fa768088e22b0963bbdf842d3e725",
"src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp":
"c59d7d5d02a64334dae9ac0379da95d1",
"b338e9792ef7eaecec15efa718d5a5b1",
"src/libANGLE/renderer/gl/DispatchTableGL_autogen.h":
"3115c293d6612d10498a1063b8cebe1a",
"src/libANGLE/renderer/gl/generate_gl_dispatch_table.py":

View File

@@ -4,11 +4,11 @@
"scripts/gen_proc_table.py":
"101d1ce8880be0c061c05c20420d92f5",
"scripts/gl.xml":
"e8f8d52f5a5b8bd5bdd4557fdc58d5dd",
"4fbb3be5950ac486b9da7c830dff0dfe",
"scripts/gl_angle_ext.xml":
"37eebedc1153cd9d208efa469a10a7b2",
"scripts/registry_xml.py":
"93fccfa6990a507e62daba66dd78bf8b",
"4d162936baeb7e803561559e11b7fd89",
"src/libGLESv2/proc_table_cl_autogen.cpp":
"ed003b0f041aaaa35b67d3fe07e61f91",
"src/libGLESv2/proc_table_egl_autogen.cpp":

View File

@@ -41414,7 +41414,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
</require>
</extension>
<extension name="GL_ARB_sync" supported="gl|glcore|gles2" comment="ANGLE hacks, should only be desktop GL">
<extension name="GL_ARB_sync" supported="gl|glcore">
<require>
<enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
<enum name="GL_OBJECT_TYPE"/>
@@ -47330,7 +47330,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetCombinerStageParameterfvNV"/>
</require>
</extension>
<extension name="GL_NV_robustness_video_memory_purge" supported="gl|gles2" command="ANGLE hacks, should only be gl">
<extension name="GL_NV_robustness_video_memory_purge" supported="gl">
<require>
<enum name="GL_PURGED_CONTEXT_RESET_NV"/>
</require>

View File

@@ -513,6 +513,9 @@ class RegistryXML:
def _ClassifySupport(self, extension):
supported = extension.attrib['supported']
# Desktop GL extensions exposed in ANGLE GLES for Chrome.
if extension.attrib['name'] in ['GL_ARB_sync', 'GL_NV_robustness_video_memory_purge']:
supported += "|gles2"
if 'gles2' in supported:
return 'gl2ext'
elif 'gles1' in supported:

View File

@@ -589,6 +589,17 @@ void DispatchTableGL::initProcsDesktopGL(const gl::Version &version,
ASSIGN("glUniformSubroutinesuiv", uniformSubroutinesuiv);
}
if (extensions.count("GL_ARB_sync") != 0)
{
ASSIGN("glClientWaitSync", clientWaitSync);
ASSIGN("glDeleteSync", deleteSync);
ASSIGN("glFenceSync", fenceSync);
ASSIGN("glGetInteger64v", getInteger64v);
ASSIGN("glGetSynciv", getSynciv);
ASSIGN("glIsSync", isSync);
ASSIGN("glWaitSync", waitSync);
}
if (extensions.count("GL_ARB_tessellation_shader") != 0)
{
ASSIGN("glPatchParameterfv", patchParameterfv);
@@ -2639,17 +2650,6 @@ void DispatchTableGL::initProcsGLES(const gl::Version &version,
void DispatchTableGL::initProcsSharedExtensions(const std::set<std::string> &extensions)
{
if (extensions.count("GL_ARB_sync") != 0)
{
ASSIGN("glClientWaitSync", clientWaitSync);
ASSIGN("glDeleteSync", deleteSync);
ASSIGN("glFenceSync", fenceSync);
ASSIGN("glGetInteger64v", getInteger64v);
ASSIGN("glGetSynciv", getSynciv);
ASSIGN("glIsSync", isSync);
ASSIGN("glWaitSync", waitSync);
}
if (extensions.count("GL_EXT_blend_minmax") != 0)
{
ASSIGN("glBlendEquationEXT", blendEquation);
@@ -3377,6 +3377,17 @@ void DispatchTableGL::initProcsDesktopGLNULL(const gl::Version &version,
uniformSubroutinesuiv = &glUniformSubroutinesuivNULL;
}
if (extensions.count("GL_ARB_sync") != 0)
{
clientWaitSync = &glClientWaitSyncNULL;
deleteSync = &glDeleteSyncNULL;
fenceSync = &glFenceSyncNULL;
getInteger64v = &glGetInteger64vNULL;
getSynciv = &glGetSyncivNULL;
isSync = &glIsSyncNULL;
waitSync = &glWaitSyncNULL;
}
if (extensions.count("GL_ARB_tessellation_shader") != 0)
{
patchParameterfv = &glPatchParameterfvNULL;
@@ -5425,17 +5436,6 @@ void DispatchTableGL::initProcsGLESNULL(const gl::Version &version,
void DispatchTableGL::initProcsSharedExtensionsNULL(const std::set<std::string> &extensions)
{
if (extensions.count("GL_ARB_sync") != 0)
{
clientWaitSync = &glClientWaitSyncNULL;
deleteSync = &glDeleteSyncNULL;
fenceSync = &glFenceSyncNULL;
getInteger64v = &glGetInteger64vNULL;
getSynciv = &glGetSyncivNULL;
isSync = &glIsSyncNULL;
waitSync = &glWaitSyncNULL;
}
if (extensions.count("GL_EXT_blend_minmax") != 0)
{
blendEquation = &glBlendEquationNULL;