Commit a576e0d4 by Jamie Madill Committed by Commit Bot

Capture/Replay: Only convert GLES 2 GLenums to string.

Previously the enum conversion script would convert all enums in gl.xml including those for desktop GL. When replaying from a CPP file we would sometimes try to use enum values that only are exposed in desktop GL. One example is GL_TEXTURE_MAX_ANISOTROPY/GL_TEXTURE_MAX_ANISOTROPY_EXT. GLES only has the "EXT" version. Desktop uses the core version. This was breaking a replay sample that used the EXT enum. Fix this by a) including the anisotropy extension in registry_xml and b) updating the enum script to only parse GLES 2 entries. In the future we could improve the situation by auto-generating a header that defines exactly the enums we need for ANGLE. Also updates the enum helper to use uppercase enum values. Bug: angleproject:3611 Change-Id: I1e01608bc8af282dc078d5a19ac4eba659c96b57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894143 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
parent 95f5806e
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
"scripts/generate_loader.py": "scripts/generate_loader.py":
"48c60c668bec42a80378179aae2acc61", "48c60c668bec42a80378179aae2acc61",
"scripts/registry_xml.py": "scripts/registry_xml.py":
"b24096dba06cad5f97b07edbd5f0c132", "c633c0b4490ef4ab5aaebb295510398d",
"scripts/wgl.xml": "scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4", "aa96419c582af2f6673430e2847693f4",
"src/libEGL/egl_loader_autogen.cpp": "src/libEGL/egl_loader_autogen.cpp":
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
"scripts/gl_angle_ext.xml": "scripts/gl_angle_ext.xml":
"d6907cd84d95ac0b32a164194eadcf53", "d6907cd84d95ac0b32a164194eadcf53",
"scripts/registry_xml.py": "scripts/registry_xml.py":
"b24096dba06cad5f97b07edbd5f0c132", "c633c0b4490ef4ab5aaebb295510398d",
"scripts/wgl.xml": "scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4", "aa96419c582af2f6673430e2847693f4",
"src/libANGLE/Context_gl_1_0_autogen.h": "src/libANGLE/Context_gl_1_0_autogen.h":
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
"src/libANGLE/Context_gles_3_2_autogen.h": "src/libANGLE/Context_gles_3_2_autogen.h":
"72bf9e9e488c16ddfaf700afa3335d60", "72bf9e9e488c16ddfaf700afa3335d60",
"src/libANGLE/Context_gles_ext_autogen.h": "src/libANGLE/Context_gles_ext_autogen.h":
"77c8459a037437aefcc27ba7a3dc95d0", "4a24e91315986187921051585d04f66f",
"src/libANGLE/capture_gles_1_0_autogen.cpp": "src/libANGLE/capture_gles_1_0_autogen.cpp":
"cdf61f5bb245ec4b7976922ad3c983b4", "cdf61f5bb245ec4b7976922ad3c983b4",
"src/libANGLE/capture_gles_1_0_autogen.h": "src/libANGLE/capture_gles_1_0_autogen.h":
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
"src/libANGLE/capture_gles_ext_autogen.cpp": "src/libANGLE/capture_gles_ext_autogen.cpp":
"b3e07e16ed33b55ca00e06167d361efa", "b3e07e16ed33b55ca00e06167d361efa",
"src/libANGLE/capture_gles_ext_autogen.h": "src/libANGLE/capture_gles_ext_autogen.h":
"814bd937a1efad4042c386b299ca8153", "072f50469f77d3ecb9fa2145e9f100f6",
"src/libANGLE/entry_points_enum_autogen.cpp": "src/libANGLE/entry_points_enum_autogen.cpp":
"6f259507f339880bf81920738e82e688", "6f259507f339880bf81920738e82e688",
"src/libANGLE/entry_points_enum_autogen.h": "src/libANGLE/entry_points_enum_autogen.h":
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
"src/libANGLE/validationES3_autogen.h": "src/libANGLE/validationES3_autogen.h":
"1b470a8e190aa007f093f1f13f3b1a8c", "1b470a8e190aa007f093f1f13f3b1a8c",
"src/libANGLE/validationESEXT_autogen.h": "src/libANGLE/validationESEXT_autogen.h":
"49147d7ee9e4abdf5c98a073ddaa9b76", "eeabee2f488207f70931f2e3a2ff9c55",
"src/libANGLE/validationGL11_autogen.h": "src/libANGLE/validationGL11_autogen.h":
"c5ac1ca523a39df2621d11e92c9c821a", "c5ac1ca523a39df2621d11e92c9c821a",
"src/libANGLE/validationGL12_autogen.h": "src/libANGLE/validationGL12_autogen.h":
...@@ -250,15 +250,15 @@ ...@@ -250,15 +250,15 @@
"src/libGLESv2/entry_points_gles_3_2_autogen.h": "src/libGLESv2/entry_points_gles_3_2_autogen.h":
"e06eb4df7dc6fb29c5fd632a54b0b162", "e06eb4df7dc6fb29c5fd632a54b0b162",
"src/libGLESv2/entry_points_gles_ext_autogen.cpp": "src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"c0987f10f82de93440848004cd712423", "760cbaad5c626c1b27d579d6ca1b0049",
"src/libGLESv2/entry_points_gles_ext_autogen.h": "src/libGLESv2/entry_points_gles_ext_autogen.h":
"9cb15f0de7d4bf5ff96dfcc9cbc3eeb9", "a8dad3044b98f7988207a65987836143",
"src/libGLESv2/libGLESv2_autogen.cpp": "src/libGLESv2/libGLESv2_autogen.cpp":
"90237a4cff995d6691c61804ac3108b1", "7b0682a27fa050660b54ae73063f3b2d",
"src/libGLESv2/libGLESv2_autogen.def": "src/libGLESv2/libGLESv2_autogen.def":
"374348844a45c1c146c00e65f074d6d1", "567d8736cd2b27581fffe17fa9e3a60f",
"src/libGLESv2/libGLESv2_no_capture_autogen.def": "src/libGLESv2/libGLESv2_no_capture_autogen.def":
"0597b04fee71ab45d207c74693c02637", "436bb9ba6826889ce7b61daf4c3faa03",
"src/libGLESv2/libGLESv2_with_capture_autogen.def": "src/libGLESv2/libGLESv2_with_capture_autogen.def":
"de3a603315d2a18d9c03adba98f7c1a0" "6d440d92cb9aedb3fee6b18610d86742"
} }
\ No newline at end of file
{ {
"scripts/gen_gl_enum_utils.py": "scripts/gen_gl_enum_utils.py":
"43712e01cc1c0ae60b4eccef659fe328", "f25cdc74b57d10a1cbc4194a72e971af",
"scripts/gl.xml": "scripts/gl.xml":
"b470cb06b06cbbe7adb2c8129ec85708", "b470cb06b06cbbe7adb2c8129ec85708",
"scripts/gl_angle_ext.xml": "scripts/gl_angle_ext.xml":
"d6907cd84d95ac0b32a164194eadcf53", "d6907cd84d95ac0b32a164194eadcf53",
"scripts/registry_xml.py": "scripts/registry_xml.py":
"b24096dba06cad5f97b07edbd5f0c132", "c633c0b4490ef4ab5aaebb295510398d",
"src/libANGLE/gl_enum_utils_autogen.cpp": "src/libANGLE/gl_enum_utils_autogen.cpp":
"2cf62bf4e35952084758cf04875dc761", "3178466fb9ef26a3349fe59a76295dc3",
"src/libANGLE/gl_enum_utils_autogen.h": "src/libANGLE/gl_enum_utils_autogen.h":
"fb0bb7f506f6082ea3b2c3fa384d2739" "fb0bb7f506f6082ea3b2c3fa384d2739"
} }
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
"scripts/gl_angle_ext.xml": "scripts/gl_angle_ext.xml":
"d6907cd84d95ac0b32a164194eadcf53", "d6907cd84d95ac0b32a164194eadcf53",
"scripts/registry_xml.py": "scripts/registry_xml.py":
"b24096dba06cad5f97b07edbd5f0c132", "c633c0b4490ef4ab5aaebb295510398d",
"scripts/wgl.xml": "scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4", "aa96419c582af2f6673430e2847693f4",
"src/libGL/proc_table_wgl_autogen.cpp": "src/libGL/proc_table_wgl_autogen.cpp":
......
...@@ -135,7 +135,7 @@ def dump_value_to_string_mapping(gl_enum_in_groups, exporting_enums): ...@@ -135,7 +135,7 @@ def dump_value_to_string_mapping(gl_enum_in_groups, exporting_enums):
inner_code_block = "\n".join([ inner_code_block = "\n".join([
template_enum_value_to_string_case.format( template_enum_value_to_string_case.format(
value=hex(value), value='0x%X' % value,
name='"%s"' % name, name='"%s"' % name,
) for name, value in exporting_string_value_pairs ) for name, value in exporting_string_value_pairs
]) ])
...@@ -180,7 +180,7 @@ def main(header_output_path, source_output_path): ...@@ -180,7 +180,7 @@ def main(header_output_path, source_output_path):
# Find relevant GLenums according to enabled APIs and extensions. # Find relevant GLenums according to enabled APIs and extensions.
exporting_enums = set() exporting_enums = set()
# export all the apis # export all the apis
xpath = "./feature/require/enum" xpath = "./feature[@api='gles2']/require/enum"
for enum_tag in xml.root.findall(xpath): for enum_tag in xml.root.findall(xpath):
enum_name = enum_tag.attrib['name'] enum_name = enum_tag.attrib['name']
if enum_name not in exclude_gl_enums: if enum_name not in exclude_gl_enums:
......
...@@ -51,9 +51,11 @@ gles1_extensions = [ ...@@ -51,9 +51,11 @@ gles1_extensions = [
gles_extensions = [ gles_extensions = [
# ES2+ # ES2+
"GL_ANGLE_base_vertex_base_instance",
"GL_ANGLE_framebuffer_blit", "GL_ANGLE_framebuffer_blit",
"GL_ANGLE_framebuffer_multisample", "GL_ANGLE_framebuffer_multisample",
"GL_ANGLE_instanced_arrays", "GL_ANGLE_instanced_arrays",
"GL_ANGLE_multi_draw",
"GL_ANGLE_provoking_vertex", "GL_ANGLE_provoking_vertex",
"GL_ANGLE_texture_multisample", "GL_ANGLE_texture_multisample",
"GL_ANGLE_translated_shader_source", "GL_ANGLE_translated_shader_source",
...@@ -72,8 +74,10 @@ gles_extensions = [ ...@@ -72,8 +74,10 @@ gles_extensions = [
"GL_EXT_robustness", "GL_EXT_robustness",
"GL_EXT_semaphore", "GL_EXT_semaphore",
"GL_EXT_semaphore_fd", "GL_EXT_semaphore_fd",
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_texture_storage", "GL_EXT_texture_storage",
"GL_KHR_debug", "GL_KHR_debug",
"GL_KHR_parallel_shader_compile",
"GL_NV_fence", "GL_NV_fence",
"GL_OES_EGL_image", "GL_OES_EGL_image",
"GL_OES_get_program_binary", "GL_OES_get_program_binary",
...@@ -84,9 +88,6 @@ gles_extensions = [ ...@@ -84,9 +88,6 @@ gles_extensions = [
"GL_OES_vertex_array_object", "GL_OES_vertex_array_object",
"GL_OVR_multiview", "GL_OVR_multiview",
"GL_OVR_multiview2", "GL_OVR_multiview2",
"GL_KHR_parallel_shader_compile",
"GL_ANGLE_multi_draw",
"GL_ANGLE_base_vertex_base_instance",
] ]
supported_extensions = sorted(angle_extensions + gles1_extensions + gles_extensions) supported_extensions = sorted(angle_extensions + gles1_extensions + gles_extensions)
......
...@@ -381,6 +381,7 @@ ...@@ -381,6 +381,7 @@
const TextureID *texturesPacked, const GLenum *srcLayouts); \ const TextureID *texturesPacked, const GLenum *srcLayouts); \
/* GL_EXT_semaphore_fd */ \ /* GL_EXT_semaphore_fd */ \
void importSemaphoreFd(SemaphoreID semaphorePacked, HandleType handleTypePacked, GLint fd); \ void importSemaphoreFd(SemaphoreID semaphorePacked, HandleType handleTypePacked, GLint fd); \
/* GL_EXT_texture_filter_anisotropic */ \
/* GL_EXT_texture_storage */ \ /* GL_EXT_texture_storage */ \
void texStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); \ void texStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); \
/* GL_KHR_debug */ \ /* GL_KHR_debug */ \
......
...@@ -1276,6 +1276,8 @@ angle::CallCapture CaptureImportSemaphoreFdEXT(const Context *context, ...@@ -1276,6 +1276,8 @@ angle::CallCapture CaptureImportSemaphoreFdEXT(const Context *context,
HandleType handleTypePacked, HandleType handleTypePacked,
GLint fd); GLint fd);
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_storage // GL_EXT_texture_storage
angle::CallCapture CaptureTexStorage1DEXT(const Context *context, angle::CallCapture CaptureTexStorage1DEXT(const Context *context,
bool isCallValid, bool isCallValid,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -1019,6 +1019,8 @@ bool ValidateImportSemaphoreFdEXT(Context *context, ...@@ -1019,6 +1019,8 @@ bool ValidateImportSemaphoreFdEXT(Context *context,
HandleType handleTypePacked, HandleType handleTypePacked,
GLint fd); GLint fd);
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_storage // GL_EXT_texture_storage
bool ValidateTexStorage1DEXT(Context *context, bool ValidateTexStorage1DEXT(Context *context,
GLenum target, GLenum target,
......
...@@ -5090,6 +5090,8 @@ void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint ...@@ -5090,6 +5090,8 @@ void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint
} }
} }
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_storage // GL_EXT_texture_storage
void GL_APIENTRY TexStorage1DEXT(GLenum target, void GL_APIENTRY TexStorage1DEXT(GLenum target,
GLsizei levels, GLsizei levels,
...@@ -863,6 +863,8 @@ ANGLE_EXPORT void GL_APIENTRY WaitSemaphoreEXT(GLuint semaphore, ...@@ -863,6 +863,8 @@ ANGLE_EXPORT void GL_APIENTRY WaitSemaphoreEXT(GLuint semaphore,
// GL_EXT_semaphore_fd // GL_EXT_semaphore_fd
ANGLE_EXPORT void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint fd); ANGLE_EXPORT void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint fd);
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_storage // GL_EXT_texture_storage
ANGLE_EXPORT void GL_APIENTRY TexStorage1DEXT(GLenum target, ANGLE_EXPORT void GL_APIENTRY TexStorage1DEXT(GLenum target,
GLsizei levels, GLsizei levels,
......
...@@ -4254,6 +4254,8 @@ void GL_APIENTRY glImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLi ...@@ -4254,6 +4254,8 @@ void GL_APIENTRY glImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLi
return gl::ImportSemaphoreFdEXT(semaphore, handleType, fd); return gl::ImportSemaphoreFdEXT(semaphore, handleType, fd);
} }
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_storage // GL_EXT_texture_storage
void GL_APIENTRY glTexStorage1DEXT(GLenum target, void GL_APIENTRY glTexStorage1DEXT(GLenum target,
GLsizei levels, GLsizei levels,
......
...@@ -706,6 +706,8 @@ EXPORTS ...@@ -706,6 +706,8 @@ EXPORTS
; GL_EXT_semaphore_fd ; GL_EXT_semaphore_fd
glImportSemaphoreFdEXT glImportSemaphoreFdEXT
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_storage ; GL_EXT_texture_storage
glTexStorage1DEXT glTexStorage1DEXT
glTexStorage2DEXT glTexStorage2DEXT
......
...@@ -706,6 +706,8 @@ EXPORTS ...@@ -706,6 +706,8 @@ EXPORTS
; GL_EXT_semaphore_fd ; GL_EXT_semaphore_fd
glImportSemaphoreFdEXT glImportSemaphoreFdEXT
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_storage ; GL_EXT_texture_storage
glTexStorage1DEXT glTexStorage1DEXT
glTexStorage2DEXT glTexStorage2DEXT
......
...@@ -706,6 +706,8 @@ EXPORTS ...@@ -706,6 +706,8 @@ EXPORTS
; GL_EXT_semaphore_fd ; GL_EXT_semaphore_fd
glImportSemaphoreFdEXT glImportSemaphoreFdEXT
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_storage ; GL_EXT_texture_storage
glTexStorage1DEXT glTexStorage1DEXT
glTexStorage2DEXT glTexStorage2DEXT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment