|
|
@@ -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), |