On 11/25/2015 07:10 PM, Eric Anholt wrote: > 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 is only 99% true. The enums are also used for some GLX protocol generation. There isn't a lot of new GLX protocol defined these days, so that's not likely to be an issue in practice. > This also brings in a new enum that I wanted to use in enum_strings.cpp > for testing the code generator. > --- > src/mapi/glapi/gen/gl_enums.py | 266 > ----------------------------------- > src/mesa/main/tests/enum_strings.cpp | 2 +- > 2 files changed, 1 insertion(+), 267 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..4c89849 100644 > --- a/src/mesa/main/tests/enum_strings.cpp > +++ b/src/mesa/main/tests/enum_strings.cpp > @@ -71,7 +71,7 @@ const struct enum_info everything[] = { > * see go farther. Disabled for the moment since Mesa doesn't have the > XML > * for it yet. > */ > - /* { 0x80a1, "GL_1PASS_EXT" }, */ > + { 0x80a1, "GL_1PASS_EXT" }, > > /* A vendor-only extension that we never expect to see show up in > * EXT/ARB/core. > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev