From 4922a3ae522de31287808f22a8e3a1fcbb2d3dab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 19 Sep 2015 12:35:15 -0400 Subject: [PATCH] mesa: Drop the blacklisting of new GL enums. Now when people need new extensions, they can skip the entire enum-definition process, and we can stop reviewing new extension XML for its enum content. This also brings in a new enum that I wanted to use in enum_strings.cpp for testing the code generator. v2: Drop comment about disabled GL_1PASS_EXT test. Reviewed-by: Ian Romanick --- src/mapi/glapi/gen/gl_enums.py | 266 ----------------------------------- src/mesa/main/tests/enum_strings.cpp | 5 +- 2 files changed, 2 insertions(+), 269 deletions(-) diff --git a/src/mapi/glapi/gen/gl_enums.py b/src/mapi/glapi/gen/gl_enums.py index 05125f5..6e18f15 100644 --- a/src/mapi/glapi/gen/gl_enums.py +++ b/src/mapi/glapi/gen/gl_enums.py @@ -179,77 +179,6 @@ _mesa_lookup_prim_by_nr(GLuint nr) return def add_enum_provider(self, name, priority): - # Skip some enums, to reduce the diffs from this commit. - if name in ['GL_NEXT_BUFFER_NV', - # Mesa was choosing GL_LINES for this, which wasn't great. - 'GL_TRUE', - # We're blacklisting 4.3, so also blacklist this - # to keep the 4.3/ARB_ssbo name for it. - 'GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS', - # GL 2.0 name when Mesa was using GLES 1.0. - 'GL_BLEND_EQUATION_RGB', - # GL3.x compat names that Mesa was missing. - 'GL_ALPHA_SNORM', - 'GL_LUMINANCE_SNORM', - 'GL_LUMINANCE_ALPHA_SNORM', - 'GL_INTENSITY_SNORM', - 'GL_ALPHA8_SNORM', - 'GL_LUMINANCE8_SNORM', - 'GL_LUMINANCE8_ALPHA8_SNORM', - 'GL_INTENSITY8_SNORM', - 'GL_ALPHA16_SNORM', - 'GL_LUMINANCE16_SNORM', - 'GL_LUMINANCE16_ALPHA16_SNORM', - 'GL_INTENSITY16_SNORM', - # ARB_imaging names that Mesa was missing. - 'GL_COLOR_INDEX1_EXT', - 'GL_COLOR_INDEX2_EXT', - 'GL_COLOR_INDEX4_EXT', - 'GL_COLOR_INDEX8_EXT', - 'GL_COLOR_INDEX12_EXT', - 'GL_COLOR_INDEX16_EXT', - 'GL_CONSTANT_BORDER', - 'GL_REPLICATE_BORDER', - 'GL_TABLE_TOO_LARGE', - # ARB_texture_view names that Mesa was missing. - 'GL_TEXTURE_VIEW_MIN_LEVEL', - 'GL_TEXTURE_VIEW_NUM_LEVELS', - 'GL_TEXTURE_VIEW_MIN_LAYER', - 'GL_TEXTURE_VIEW_NUM_LAYERS', - # GL4.2 BPTC names that Mesa was missing. - 'GL_COMPRESSED_RGBA_BPTC_UNORM', - 'GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM', - 'GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT', - 'GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT', - # Mesa was choosing the EXT names for these - # instead of core. - 'GL_ALPHA_INTEGER', - 'GL_PROGRAM_SEPARABLE', - 'GL_PROGRAM_PIPELINE_BINDING', - 'GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS', - # Mesa was choosing the ARB names for these instead of core. - 'GL_TEXTURE_CUBE_MAP_ARRAY', - 'GL_TEXTURE_BINDING_CUBE_MAP_ARRAY', - 'GL_PROXY_TEXTURE_CUBE_MAP_ARRAY', - 'GL_SAMPLER_CUBE_MAP_ARRAY', - 'GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW', - 'GL_INT_SAMPLER_CUBE_MAP_ARRAY', - 'GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY', - 'GL_TRANSFORM_FEEDBACK_PAUSED', - 'GL_TRANSFORM_FEEDBACK_ACTIVE', - 'GL_VERTEX_ATTRIB_ARRAY_DIVISOR', - # Mesa was choosing the ANGLE names for these - # instead of EXT. - 'GL_COMPRESSED_RGBA_S3TC_DXT3_EXT', - 'GL_COMPRESSED_RGBA_S3TC_DXT5_EXT', - ]: - return - - # Mesa didn't know about the second half of this set of enums. - m = re.match('GL_COLOR_ATTACHMENT([0-9]*)', name) - if m and int(m.group(1)) >= 16: - return - value = self.string_to_int[name] # We don't want the weird GL_SKIP_COMPONENTS1_NV enums. @@ -279,192 +208,6 @@ _mesa_lookup_prim_by_nr(GLuint nr) self.enum_table[value] = (name, priority) def process_extension(self, extension): - # Skip some of the extensions, to reduce the diffs from this commit. - extension_name = extension.get('name') - whitelist = ['GL_ANGLE_texture_compression_dxt3', - 'GL_ANGLE_texture_compression_dxt5', - 'GL_APPLE_flush_buffer_range', - 'GL_APPLE_object_purgeable', - 'GL_APPLE_texture_range', - 'GL_SGIS_texture_color_mask', - 'GL_SGIX_clipmap', - 'GL_SGIX_texture_coordinate_clamp', - 'GL_SGIX_fog_offset', - 'GL_SGIX_texture_scale_bias', - 'GL_SGIX_texture_lod_bias', - 'GL_SGIX_shadow', - 'GL_APPLE_ycbcr_422'] - whitelist_only_prefixes = ['GL_APPLE', - 'GL_ANGLE', - 'GL_ARM', - 'GL_DMP', - 'GL_FJ', - 'GL_INGR', - 'GL_IMG_', - 'GL_MESAX_', - 'GL_MALI_', - 'GL_NVX_', - 'GL_OML_', - 'GL_OVR_', - 'GL_PGI_', - 'GL_QCOM_', - 'GL_REND_', - 'GL_SGIS_', - 'GL_SGIX_', - 'GL_WIN_', - 'GL_VIV_'] - - for prefix in whitelist_only_prefixes: - if extension_name.startswith(prefix): - if extension_name not in whitelist: - return - - if extension_name in ['GL_ATI_element_array', - 'GL_ATI_meminfo', - 'GL_ATI_text_fragment_shader', - 'GL_ATI_pixel_format_float', - 'GL_ATI_pn_triangles', - 'GL_ATI_vertex_array_object', - 'GL_ATI_vertex_streams', - 'GL_AMD_blend_minmax_factor', - 'GL_AMD_compressed_3DC_texture', - 'GL_AMD_compressed_ATC_texture', - 'GL_AMD_debug_output', - 'GL_AMD_depth_clamp_separate', - 'GL_AMD_gpu_shader_int64', - 'GL_AMD_query_buffer_object', - 'GL_AMD_interleaved_elements', - 'GL_AMD_name_gen_delete', - 'GL_AMD_occlusion_query_event', - 'GL_AMD_program_binary_Z400', - 'GL_AMD_sample_positions', - 'GL_AMD_sparse_texture', - 'GL_AMD_stencil_operation_extended', - 'GL_AMD_transform_feedback4', - 'GL_AMD_vertex_shader_tessellator', - 'GL_ARB_bindless_texture', - 'GL_ARB_cl_event', - 'GL_ARB_compute_variable_group_size', - 'GL_ARB_cull_distance', - 'GL_ARB_enhanced_layouts', - 'GL_ARB_indirect_parameters', - 'GL_ARB_internalformat_query2', - 'GL_ARB_query_buffer_object', - 'GL_ARB_shading_language_include', - 'GL_ARB_sparse_buffer', - 'GL_ARB_sparse_texture', - 'GL_ARB_texture_compression_bptc', - 'GL_ARB_texture_mirror_clamp_to_edge', - 'GL_ARB_texture_view', - 'GL_ARB_transform_feedback_overflow_query', - 'GL_EXT_422_pixels', - 'GL_EXT_bindable_uniform', - 'GL_EXT_cmyka', - 'GL_EXT_coordinate_frame', - 'GL_EXT_debug_label', - 'GL_EXT_direct_state_access', - 'GL_EXT_disjoint_timer_query', - 'GL_EXT_geometry_shader', - 'GL_EXT_light_texture', - 'GL_EXT_robustness', - 'GL_EXT_tessellation_shader', - 'GL_EXT_texture_compression_latc', - 'GL_EXT_texture_filter_minmax', - 'GL_EXT_texture_sRGB_R8', - 'GL_EXT_texture_sRGB_RG8', - 'GL_EXT_framebuffer_multisample_blit_scaled', - 'GL_EXT_multisample', - 'GL_EXT_multisampled_render_to_texture', - 'GL_EXT_multiview_draw_buffers', - 'GL_EXT_pixel_transform', - 'GL_EXT_primitive_bounding_box', - 'GL_EXT_pvrtc_sRGB', - 'GL_EXT_raster_multisample', - 'GL_EXT_shader_framebuffer_fetch', - 'GL_EXT_shader_pixel_local_storage', - 'GL_EXT_sparse_texture', - 'GL_EXT_stencil_clear_tag', - 'GL_EXT_tesselation_shader', - 'GL_EXT_texture_perturb_normal', - 'GL_EXT_texture_sRGB', - 'GL_EXT_texture_storage', - 'GL_EXT_texture_view', - 'GL_EXT_vertex_shader', - 'GL_EXT_vertex_weighting', - 'GL_EXT_x11_sync_object', - 'GL_EXT_YUV_target', - 'GL_IBM_cull_vertex', - 'GL_IBM_static_data', - 'GL_IBM_vertex_array_lists', - 'GL_INTEL_map_texture', - 'GL_INTEL_parallel_arrays', - 'GL_HP_image_transform', - 'GL_HP_texture_lighting', - 'GL_KHR_blend_equation_advanced', - 'GL_KHR_blend_equation_advanced_coherent', - 'GL_KHR_robustness', - 'GL_NV_blend_equation_advanced', - 'GL_NV_blend_equation_advanced_coherent', - 'GL_NV_command_list', - 'GL_NV_compute_program5', - 'GL_NV_conservative_raster', - 'GL_NV_coverage_sample', - 'GL_NV_deep_texture3D', - 'GL_NV_depth_buffer_float', - 'GL_NV_depth_nonlinear', - 'GL_NV_evaluators', - 'GL_NV_explicit_multisample', - 'GL_NV_fence', - 'GL_NV_fill_rectangle', - 'GL_NV_float_buffer', - 'GL_NV_fragment_coverage_to_color', - 'GL_NV_framebuffer_mixed_samples', - 'GL_NV_framebuffer_multisample_coverage', - 'GL_NV_geometry_program4', - 'GL_NV_gpu_program4', - 'GL_NV_gpu_program5', - 'GL_NV_gpu_shader5', - 'GL_NV_internalformat_sample_query', - 'GL_NV_multisample_coverage', - 'GL_NV_parameter_buffer_object', - 'GL_NV_path_rendering', - 'GL_NV_path_rendering_shared_edge', - 'GL_NV_pixel_data_range', - 'GL_NV_present_video', - 'GL_NV_register_combiners', - 'GL_NV_register_combiners2', - 'GL_NV_sample_locations', - 'GL_NV_shader_buffer_load', - 'GL_NV_shader_image_load_store', - 'GL_NV_shader_thread_group', - 'GL_NV_sRGB_formats', - 'GL_NV_tessellation_program5', - 'GL_NV_texgen_emboss', - 'GL_NV_texture_multisample', - 'GL_NV_texture_shader', - 'GL_NV_texture_shader2', - 'GL_NV_texture_shader3', - 'GL_NV_transform_feedback', - 'GL_NV_uniform_buffer_unified_memory', - 'GL_NV_vertex_array_range', - 'GL_NV_vertex_array_range2', - 'GL_NV_vertex_attrib_integer_64bit', - 'GL_NV_vertex_buffer_unified_memory', - 'GL_NV_video_capture', - 'GL_OES_geometry_shader', - 'GL_OES_primitive_bounding_box', - 'GL_OES_tessellation_shader', - 'GL_OES_texture_compression_astc', - 'GL_OES_texture_view', - 'GL_SGI_color_table', - 'GL_SUN_global_alpha', - 'GL_SUN_triangle_list', - 'GL_SUNX_constant_data', - 'GL_EXT_index_func', - 'GL_EXT_index_array_formats', - 'GL_EXT_index_material']: - return - if extension.get('name').startswith('GL_ARB_'): extension_prio = 400 elif extension.get('name').startswith('GL_EXT_'): @@ -475,9 +218,6 @@ _mesa_lookup_prim_by_nr(GLuint nr) for enum in extension.findall('require/enum'): self.add_enum_provider(enum.get('name'), extension_prio) - # Part of 4.4, but Mesa added it early. - self.add_enum_provider('GL_MAX_VERTEX_ATTRIB_STRIDE', 44) - def process_enums(self, xml): # First, process the XML entries that define the hex values # for all of the enum names. @@ -498,12 +238,6 @@ _mesa_lookup_prim_by_nr(GLuint nr) # value. for feature in xml.findall('feature'): feature_name = feature.get('name') - # Skip some of the extensions, to reduce the diffs from this commit. - if feature_name in ['GL_VERSION_4_3', - 'GL_VERSION_4_4', - 'GL_VERSION_4_5', - 'GL_ES_VERSION_3_1']: - continue # When an enum gets renamed in a newer version (generally # because of some generalization of the functionality), diff --git a/src/mesa/main/tests/enum_strings.cpp b/src/mesa/main/tests/enum_strings.cpp index bff425a..4d8d12f 100644 --- a/src/mesa/main/tests/enum_strings.cpp +++ b/src/mesa/main/tests/enum_strings.cpp @@ -68,10 +68,9 @@ const struct enum_info everything[] = { { 0x8062, "GL_REPLACE_EXT" }, /* An extension that made it from vendor to _EXT, but we never expect to - * see go farther. Disabled for the moment since Mesa doesn't have the XML - * for it yet. + * see go farther. */ - /* { 0x80a1, "GL_1PASS_EXT" }, */ + { 0x80a1, "GL_1PASS_EXT" }, /* A vendor-only extension that we never expect to see show up in * EXT/ARB/core. -- 2.7.4