Module: Mesa
Branch: master
Commit: c78b372dd06b7156d897e4493ac7bac7bdb3622a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c78b372dd06b7156d897e4493ac7bac7bdb3622a

Author: Bas Nieuwenhuizen <[email protected]>
Date:   Sun Feb  7 16:01:50 2021 +0100

radv: Define supported extensions in C.

One python generator less.

Reviewed-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8900>

---

 src/amd/vulkan/Android.mk         |  12 --
 src/amd/vulkan/Makefile.sources   |   2 -
 src/amd/vulkan/meson.build        |  13 +--
 src/amd/vulkan/radv_device.c      | 193 +++++++++++++++++++++++++++++-
 src/amd/vulkan/radv_extensions.py | 239 --------------------------------------
 src/amd/vulkan/radv_private.h     |   2 -
 6 files changed, 193 insertions(+), 268 deletions(-)

diff --git a/src/amd/vulkan/Android.mk b/src/amd/vulkan/Android.mk
index 9741ade7308..06f718357d4 100644
--- a/src/amd/vulkan/Android.mk
+++ b/src/amd/vulkan/Android.mk
@@ -77,12 +77,9 @@ LOCAL_STATIC_LIBRARIES := \
 
 LOCAL_GENERATED_SOURCES += $(intermediates)/radv_entrypoints.c
 LOCAL_GENERATED_SOURCES += $(intermediates)/radv_entrypoints.h
-LOCAL_GENERATED_SOURCES += $(intermediates)/radv_extensions.c
-LOCAL_GENERATED_SOURCES += $(intermediates)/radv_extensions.h
 LOCAL_GENERATED_SOURCES += $(intermediates)/vk_format_table.c
 
 RADV_ENTRYPOINTS_SCRIPT := $(MESA_TOP)/src/vulkan/util/vk_entrypoints_gen.py
-RADV_EXTENSIONS_SCRIPT := $(MESA_TOP)/src/amd/vulkan/radv_extensions.py
 VK_FORMAT_TABLE_SCRIPT := $(MESA_TOP)/src/amd/vulkan/vk_format_table.py
 VK_FORMAT_PARSE_SCRIPT := $(MESA_TOP)/src/amd/vulkan/vk_format_parse.py
 
@@ -101,15 +98,6 @@ $(intermediates)/radv_entrypoints.c: 
$(RADV_ENTRYPOINTS_SCRIPT) \
 
 $(intermediates)/radv_entrypoints.h: $(intermediates)/radv_entrypoints.c
 
-$(intermediates)/radv_extensions.c: $(RADV_EXTENSIONS_SCRIPT) $(vulkan_api_xml)
-       @mkdir -p $(dir $@)
-       $(MESA_PYTHON2) $(RADV_EXTENSIONS_SCRIPT) \
-               --xml $(vulkan_api_xml) \
-               --out-c $@ \
-               --out-h $(addsuffix .h,$(basename $@))
-
-$(intermediates)/radv_extensions.h: $(intermediates)/radv_extensions.c
-
 $(intermediates)/vk_format_table.c: $(VK_FORMAT_TABLE_SCRIPT) \
                                        $(VK_FORMAT_PARSE_SCRIPT) \
                                        $(vk_format_layout_csv)
diff --git a/src/amd/vulkan/Makefile.sources b/src/amd/vulkan/Makefile.sources
index 2f790a9bac9..68e12feda4d 100644
--- a/src/amd/vulkan/Makefile.sources
+++ b/src/amd/vulkan/Makefile.sources
@@ -105,7 +105,5 @@ VULKAN_WSI_DISPLAY_FILES := \
 VULKAN_GENERATED_FILES := \
        radv_entrypoints.c \
        radv_entrypoints.h \
-       radv_extensions.c \
-       radv_extensions.h \
        vk_format_table.c
 
diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
index 54ff9965c71..610c403c556 100644
--- a/src/amd/vulkan/meson.build
+++ b/src/amd/vulkan/meson.build
@@ -29,17 +29,6 @@ radv_entrypoints = custom_target(
   ],
 )
 
-radv_extensions_c = custom_target(
-  'radv_extensions.c',
-  input : ['radv_extensions.py', vk_api_xml],
-  output : ['radv_extensions.c', 'radv_extensions.h'],
-  command : [
-    prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--out-c', '@OUTPUT0@',
-    '--out-h', '@OUTPUT1@'
-  ],
-  depend_files : vk_extensions_gen,
-)
-
 amd_vk_format_table_c = custom_target(
   'amd_vk_format_table.c',
   input : ['vk_format_table.py', 'vk_format_layout.csv'],
@@ -171,7 +160,7 @@ endif
 
 libvulkan_radeon = shared_library(
   'vulkan_radeon',
-  [libradv_files, radv_entrypoints, radv_extensions_c, amd_vk_format_table_c, 
sha1_h],
+  [libradv_files, radv_entrypoints, amd_vk_format_table_c, sha1_h],
   include_directories : [
     inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, 
inc_amd, inc_amd_common, inc_amd_common_llvm, inc_compiler, inc_util, 
inc_vulkan_wsi,
   ],
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index d7e9d9bc42c..6a11f8a2141 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -288,6 +288,197 @@ radv_get_compiler_string(struct radv_physical_device 
*pdevice)
        return "LLVM " MESA_LLVM_VERSION_STRING;
 }
 
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR) || \
+    defined(VK_USE_PLATFORM_XCB_KHR) || \
+    defined(VK_USE_PLATFORM_XLIB_KHR) || \
+    defined(VK_USE_PLATFORM_DISPLAY_KHR)
+#define RADV_USE_WSI_PLATFORM
+#endif
+
+#ifdef ANDROID
+#define RADV_API_VERSION VK_MAKE_VERSION(1, 1, VK_HEADER_VERSION)
+#else
+#define RADV_API_VERSION VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
+#endif
+
+VkResult radv_EnumerateInstanceVersion(uint32_t* pApiVersion)
+{
+       *pApiVersion = RADV_API_VERSION;
+       return VK_SUCCESS;
+}
+
+static const struct vk_instance_extension_table 
radv_instance_extensions_supported = {
+       .KHR_device_group_creation                = true,
+       .KHR_external_fence_capabilities          = true,
+       .KHR_external_memory_capabilities         = true,
+       .KHR_external_semaphore_capabilities      = true,
+       .KHR_get_physical_device_properties2      = true,
+       .EXT_debug_report                         = true,
+
+#ifdef RADV_USE_WSI_PLATFORM
+       .KHR_get_surface_capabilities2            = true,
+       .KHR_surface                              = true,
+       .KHR_surface_protected_capabilities       = true,
+#endif
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+       .KHR_wayland_surface                      = true,
+#endif
+#ifdef VK_USE_PLATFORM_XCB_KHR
+       .KHR_xcb_surface                          = true,
+#endif
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+       .KHR_xlib_surface                         = true,
+#endif
+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
+       .EXT_acquire_xlib_display                 = true,
+#endif
+#ifdef VK_USE_PLATFORM_DISPLAY_KHR
+       .KHR_display                              = true,
+       .KHR_get_display_properties2              = true,
+       .EXT_direct_mode_display                  = true,
+       .EXT_display_surface_counter              = true,
+#endif
+};
+
+static void
+radv_physical_device_get_supported_extensions(const struct 
radv_physical_device *device,
+                                              struct vk_device_extension_table 
*ext)
+{
+       *ext = (struct vk_device_extension_table) {
+       .KHR_8bit_storage                      = true,
+       .KHR_16bit_storage                     = true,
+       .KHR_bind_memory2                      = true,
+       .KHR_buffer_device_address             = true,
+       .KHR_copy_commands2                    = true,
+       .KHR_create_renderpass2                = true,
+       .KHR_dedicated_allocation              = true,
+       .KHR_deferred_host_operations          = true,
+       .KHR_depth_stencil_resolve             = true,
+       .KHR_descriptor_update_template        = true,
+       .KHR_device_group                      = true,
+       .KHR_draw_indirect_count               = true,
+       .KHR_driver_properties                 = true,
+       .KHR_external_fence                    = 
device->rad_info.has_syncobj_wait_for_submit,
+       .KHR_external_fence_fd                 = 
device->rad_info.has_syncobj_wait_for_submit,
+       .KHR_external_memory                   = true,
+       .KHR_external_memory_fd                = true,
+       .KHR_external_semaphore                = device->rad_info.has_syncobj,
+       .KHR_external_semaphore_fd             = device->rad_info.has_syncobj,
+       .KHR_fragment_shading_rate             = device->rad_info.chip_class >= 
GFX10_3,
+       .KHR_get_memory_requirements2          = true,
+       .KHR_image_format_list                 = true,
+       .KHR_imageless_framebuffer             = true,
+#ifdef RADV_USE_WSI_PLATFORM
+       .KHR_incremental_present               = true,
+#endif
+       .KHR_maintenance1                      = true,
+       .KHR_maintenance2                      = true,
+       .KHR_maintenance3                      = true,
+       .KHR_multiview                         = true,
+       .KHR_pipeline_executable_properties    = true,
+       .KHR_push_descriptor                   = true,
+       .KHR_relaxed_block_layout              = true,
+       .KHR_sampler_mirror_clamp_to_edge      = true,
+       .KHR_sampler_ycbcr_conversion          = true,
+       .KHR_separate_depth_stencil_layouts    = true,
+       .KHR_shader_atomic_int64               = LLVM_VERSION_MAJOR >= 9 || 
!device->use_llvm,
+       .KHR_shader_clock                      = true,
+       .KHR_shader_draw_parameters            = true,
+       .KHR_shader_float16_int8               = true,
+       .KHR_shader_float_controls             = true,
+       .KHR_shader_non_semantic_info          = true,
+       .KHR_shader_subgroup_extended_types    = true,
+       .KHR_shader_terminate_invocation       = true,
+       .KHR_spirv_1_4                         = true,
+       .KHR_storage_buffer_storage_class      = true,
+#ifdef RADV_USE_WSI_PLATFORM
+       .KHR_swapchain                         = true,
+       .KHR_swapchain_mutable_format          = true,
+#endif
+       .KHR_timeline_semaphore                = 
device->rad_info.has_syncobj_wait_for_submit,
+       .KHR_uniform_buffer_standard_layout    = true,
+       .KHR_variable_pointers                 = true,
+       .KHR_vulkan_memory_model               = true,
+       .KHR_workgroup_memory_explicit_layout  = true,
+       .KHR_zero_initialize_workgroup_memory  = true,
+       .EXT_4444_formats                      = true,
+       .EXT_buffer_device_address             = true,
+       .EXT_calibrated_timestamps             = 
RADV_SUPPORT_CALIBRATED_TIMESTAMPS,
+       .EXT_conditional_rendering             = true,
+       .EXT_conservative_rasterization        = device->rad_info.chip_class >= 
GFX9,
+       .EXT_custom_border_color               = true,
+       .EXT_depth_clip_enable                 = true,
+       .EXT_depth_range_unrestricted          = true,
+       .EXT_descriptor_indexing               = true,
+       .EXT_discard_rectangles                = true,
+#ifdef VK_USE_PLATFORM_DISPLAY_KHR
+       .EXT_display_control                   = 
device->rad_info.has_syncobj_wait_for_submit,
+#endif
+       .EXT_extended_dynamic_state            = true,
+       .EXT_external_memory_dma_buf           = true,
+       .EXT_external_memory_host              = device->rad_info.has_userptr,
+       .EXT_global_priority                   = 
device->rad_info.has_ctx_priority,
+       .EXT_host_query_reset                  = true,
+       .EXT_image_drm_format_modifier         = device->rad_info.chip_class >= 
GFX9,
+       .EXT_image_robustness                  = true,
+       .EXT_index_type_uint8                  = device->rad_info.chip_class >= 
GFX8,
+       .EXT_inline_uniform_block              = true,
+       .EXT_line_rasterization                = true,
+       .EXT_memory_budget                     = true,
+       .EXT_memory_priority                   = true,
+       .EXT_pci_bus_info                      = true,
+       .EXT_pipeline_creation_cache_control   = true,
+       .EXT_pipeline_creation_feedback        = true,
+       .EXT_post_depth_coverage               = device->rad_info.chip_class >= 
GFX10,
+       .EXT_private_data                      = true,
+       .EXT_queue_family_foreign              = true,
+       .EXT_robustness2                       = true,
+       .EXT_sample_locations                  = device->rad_info.chip_class < 
GFX10,
+       .EXT_sampler_filter_minmax             = true,
+       .EXT_scalar_block_layout               = device->rad_info.chip_class >= 
GFX7,
+       .EXT_shader_atomic_float               = true,
+       .EXT_shader_demote_to_helper_invocation = LLVM_VERSION_MAJOR >= 9 || 
!device->use_llvm,
+       .EXT_shader_image_atomic_int64         = LLVM_VERSION_MAJOR >= 11 || 
!device->use_llvm,
+       .EXT_shader_stencil_export             = true,
+       .EXT_shader_subgroup_ballot            = true,
+       .EXT_shader_subgroup_vote              = true,
+       .EXT_shader_viewport_index_layer       = true,
+       .EXT_subgroup_size_control             = true,
+       .EXT_texel_buffer_alignment            = true,
+       .EXT_transform_feedback                = true,
+       .EXT_vertex_attribute_divisor          = true,
+       .EXT_ycbcr_image_arrays                = true,
+       .AMD_buffer_marker                     = true,
+       .AMD_device_coherent_memory            = true,
+       .AMD_draw_indirect_count               = true,
+       .AMD_gcn_shader                        = true,
+       .AMD_gpu_shader_half_float             = 
device->rad_info.has_packed_math_16bit,
+       .AMD_gpu_shader_int16                  = 
device->rad_info.has_packed_math_16bit,
+       .AMD_memory_overallocation_behavior    = true,
+       .AMD_mixed_attachment_samples          = true,
+       .AMD_rasterization_order               = 
device->rad_info.has_out_of_order_rast,
+       .AMD_shader_ballot                     = true,
+       .AMD_shader_core_properties            = true,
+       .AMD_shader_core_properties2           = true,
+       .AMD_shader_explicit_vertex_parameter  = true,
+       .AMD_shader_fragment_mask              = true,
+       .AMD_shader_image_load_store_lod       = true,
+       .AMD_shader_info                       = true,
+       .AMD_shader_trinary_minmax             = true,
+       .AMD_texture_gather_bias_lod           = true,
+#ifdef ANDROID
+       .ANDROID_external_memory_android_hardware_buffer = 
RADV_SUPPORT_ANDROID_HARDWARE_BUFFER  &&
+                                                          
device->rad_info.has_syncobj_wait_for_submit,
+       .ANDROID_native_buffer                 = 
device->rad_info.has_syncobj_wait_for_submit,
+#endif
+       .GOOGLE_decorate_string                = true,
+       .GOOGLE_hlsl_functionality1            = true,
+       .GOOGLE_user_type                      = true,
+       .NV_compute_shader_derivatives         = true,
+       .VALVE_mutable_descriptor_type        = true,
+   };
+}
+
 static VkResult
 radv_physical_device_try_create(struct radv_instance *instance,
                                drmDevicePtr drm_device,
@@ -1614,7 +1805,7 @@ void radv_GetPhysicalDeviceProperties(
        };
 
        *pProperties = (VkPhysicalDeviceProperties) {
-               .apiVersion = radv_physical_device_api_version(pdevice),
+               .apiVersion = RADV_API_VERSION,
                .driverVersion = vk_get_driver_version(),
                .vendorID = ATI_VENDOR_ID,
                .deviceID = pdevice->rad_info.pci_id,
diff --git a/src/amd/vulkan/radv_extensions.py 
b/src/amd/vulkan/radv_extensions.py
deleted file mode 100644
index 3f637346909..00000000000
--- a/src/amd/vulkan/radv_extensions.py
+++ /dev/null
@@ -1,239 +0,0 @@
-COPYRIGHT = """\
-/*
- * Copyright 2017 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-"""
-
-import argparse
-import os.path
-import re
-import sys
-
-VULKAN_UTIL = os.path.abspath(os.path.join(os.path.dirname(__file__), 
'../../vulkan/util'))
-sys.path.append(VULKAN_UTIL)
-
-from vk_extensions import *
-from vk_extensions_gen import *
-
-API_PATCH_VERSION = 145
-
-# Supported API versions.  Each one is the maximum patch version for the given
-# version.  Version come in increasing order and each version is available if
-# it's provided "enable" condition is true and all previous versions are
-# available.
-API_VERSIONS = [
-    ApiVersion('1.0', True),
-    ApiVersion('1.1', True),
-    ApiVersion('1.2', '!ANDROID'),
-]
-
-MAX_API_VERSION = None # Computed later
-
-# On Android, we disable all surface and swapchain extensions. Android's Vulkan
-# loader implements VK_KHR_surface and VK_KHR_swapchain, and applications
-# cannot access the driver's implementation. Moreoever, if the driver exposes
-# the those extension strings, then tests dEQP-VK.api.info.instance.extensions
-# and dEQP-VK.api.info.device fail due to the duplicated strings.
-EXTENSIONS = [
-    Extension('VK_KHR_8bit_storage',                      1, True),
-    Extension('VK_KHR_16bit_storage',                     1, True),
-    Extension('VK_KHR_bind_memory2',                      1, True),
-    Extension('VK_KHR_buffer_device_address',             1, True),
-    Extension('VK_KHR_copy_commands2',                    1, True),
-    Extension('VK_KHR_create_renderpass2',                1, True),
-    Extension('VK_KHR_dedicated_allocation',              3, True),
-    Extension('VK_KHR_deferred_host_operations',          1, True),
-    Extension('VK_KHR_depth_stencil_resolve',             1, True),
-    Extension('VK_KHR_descriptor_update_template',        1, True),
-    Extension('VK_KHR_device_group',                      4, True),
-    Extension('VK_KHR_device_group_creation',             1, True),
-    Extension('VK_KHR_display',                          23, 
'VK_USE_PLATFORM_DISPLAY_KHR'),
-    Extension('VK_KHR_draw_indirect_count',               1, True),
-    Extension('VK_KHR_driver_properties',                 1, True),
-    Extension('VK_KHR_external_fence',                    1, 
'device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_KHR_external_fence_capabilities',       1, True),
-    Extension('VK_KHR_external_fence_fd',                 1, 
'device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_KHR_external_memory',                   1, True),
-    Extension('VK_KHR_external_memory_capabilities',      1, True),
-    Extension('VK_KHR_external_memory_fd',                1, True),
-    Extension('VK_KHR_external_semaphore',                1, 
'device->rad_info.has_syncobj'),
-    Extension('VK_KHR_external_semaphore_capabilities',   1, True),
-    Extension('VK_KHR_external_semaphore_fd',             1, 
'device->rad_info.has_syncobj'),
-    Extension('VK_KHR_fragment_shading_rate',             1, 
'device->rad_info.chip_class >= GFX10_3'),
-    Extension('VK_KHR_get_display_properties2',           1, 
'VK_USE_PLATFORM_DISPLAY_KHR'),
-    Extension('VK_KHR_get_memory_requirements2',          1, True),
-    Extension('VK_KHR_get_physical_device_properties2',   1, True),
-    Extension('VK_KHR_get_surface_capabilities2',         1, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_image_format_list',                 1, True),
-    Extension('VK_KHR_imageless_framebuffer',             1, True),
-    Extension('VK_KHR_incremental_present',               1, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_maintenance1',                      2, True),
-    Extension('VK_KHR_maintenance2',                      1, True),
-    Extension('VK_KHR_maintenance3',                      1, True),
-    Extension('VK_KHR_multiview',                         1, True),
-    Extension('VK_KHR_pipeline_executable_properties',    1, True),
-    Extension('VK_KHR_push_descriptor',                   2, True),
-    Extension('VK_KHR_relaxed_block_layout',              1, True),
-    Extension('VK_KHR_sampler_mirror_clamp_to_edge',      3, True),
-    Extension('VK_KHR_sampler_ycbcr_conversion',         14, True),
-    Extension('VK_KHR_separate_depth_stencil_layouts',    1, True),
-    Extension('VK_KHR_shader_atomic_int64',               1, 
'LLVM_VERSION_MAJOR >= 9 || !device->use_llvm'),
-    Extension('VK_KHR_shader_clock',                      1, True),
-    Extension('VK_KHR_shader_draw_parameters',            1, True),
-    Extension('VK_KHR_shader_float16_int8',               1, True),
-    Extension('VK_KHR_shader_float_controls',             4, True),
-    Extension('VK_KHR_shader_non_semantic_info',          1, True),
-    Extension('VK_KHR_shader_subgroup_extended_types',    1, True),
-    Extension('VK_KHR_shader_terminate_invocation',       1, True),
-    Extension('VK_KHR_spirv_1_4',                         1, True),
-    Extension('VK_KHR_storage_buffer_storage_class',      1, True),
-    Extension('VK_KHR_surface',                          25, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_surface_protected_capabilities',    1, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_swapchain',                        70, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_swapchain_mutable_format',          1, 
'RADV_HAS_SURFACE'),
-    Extension('VK_KHR_timeline_semaphore',                2, 
'device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_KHR_uniform_buffer_standard_layout',    1, True),
-    Extension('VK_KHR_variable_pointers',                 1, True),
-    Extension('VK_KHR_vulkan_memory_model',               3, True),
-    Extension('VK_KHR_wayland_surface',                   6, 
'VK_USE_PLATFORM_WAYLAND_KHR'),
-    Extension('VK_KHR_workgroup_memory_explicit_layout',  1, True),
-    Extension('VK_KHR_xcb_surface',                       6, 
'VK_USE_PLATFORM_XCB_KHR'),
-    Extension('VK_KHR_xlib_surface',                      6, 
'VK_USE_PLATFORM_XLIB_KHR'),
-    Extension('VK_KHR_zero_initialize_workgroup_memory',  1, True),
-    Extension('VK_EXT_4444_formats',                      1, True),
-    Extension('VK_EXT_acquire_xlib_display',              1, 
'VK_USE_PLATFORM_XLIB_XRANDR_EXT'),
-    Extension('VK_EXT_buffer_device_address',             2, True),
-    Extension('VK_EXT_calibrated_timestamps',             1, 
'RADV_SUPPORT_CALIBRATED_TIMESTAMPS'),
-    Extension('VK_EXT_conditional_rendering',             2, True),
-    Extension('VK_EXT_conservative_rasterization',        1, 
'device->rad_info.chip_class >= GFX9'),
-    Extension('VK_EXT_custom_border_color',               12, True),
-    Extension('VK_EXT_debug_report',                      9, True),
-    Extension('VK_EXT_depth_clip_enable',                 1, True),
-    Extension('VK_EXT_depth_range_unrestricted',          1, True),
-    Extension('VK_EXT_descriptor_indexing',               2, True),
-    Extension('VK_EXT_direct_mode_display',               1, 
'VK_USE_PLATFORM_DISPLAY_KHR'),
-    Extension('VK_EXT_discard_rectangles',                1, True),
-    Extension('VK_EXT_display_control',                   1, 
'VK_USE_PLATFORM_DISPLAY_KHR && device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_EXT_display_surface_counter',           1, 
'VK_USE_PLATFORM_DISPLAY_KHR'),
-    Extension('VK_EXT_extended_dynamic_state',            1, True),
-    Extension('VK_EXT_external_memory_dma_buf',           1, True),
-    Extension('VK_EXT_external_memory_host',              1, 
'device->rad_info.has_userptr'),
-    Extension('VK_EXT_global_priority',                   2, 
'device->rad_info.has_ctx_priority'),
-    Extension('VK_EXT_host_query_reset',                  1, True),
-    Extension('VK_EXT_image_drm_format_modifier',         1, 
'device->rad_info.chip_class >= GFX9'),
-    Extension('VK_EXT_image_robustness',                  1, True),
-    Extension('VK_EXT_index_type_uint8',                  1, 
'device->rad_info.chip_class >= GFX8'),
-    Extension('VK_EXT_inline_uniform_block',              1, True),
-    Extension('VK_EXT_line_rasterization',                1, True),
-    Extension('VK_EXT_memory_budget',                     1, True),
-    Extension('VK_EXT_memory_priority',                   1, True),
-    Extension('VK_EXT_pci_bus_info',                      2, True),
-    Extension('VK_EXT_pipeline_creation_cache_control',   3, True),
-    Extension('VK_EXT_pipeline_creation_feedback',        1, True),
-    Extension('VK_EXT_post_depth_coverage',               1, 
'device->rad_info.chip_class >= GFX10'),
-    Extension('VK_EXT_private_data',                      1, True),
-    Extension('VK_EXT_queue_family_foreign',              1, True),
-    Extension('VK_EXT_robustness2',                       1, True),
-    Extension('VK_EXT_sample_locations',                  1, 
'device->rad_info.chip_class < GFX10'),
-    Extension('VK_EXT_sampler_filter_minmax',             2, True),
-    Extension('VK_EXT_scalar_block_layout',               1, 
'device->rad_info.chip_class >= GFX7'),
-    Extension('VK_EXT_shader_atomic_float',               1, True),
-    Extension('VK_EXT_shader_demote_to_helper_invocation',1, 
'LLVM_VERSION_MAJOR >= 9 || !device->use_llvm'),
-    # LLVM versions before 11 have a bug where compilation fails when the 
result of an atomic is used
-    Extension('VK_EXT_shader_image_atomic_int64',         1, 
'LLVM_VERSION_MAJOR >= 11 || !device->use_llvm'),
-    Extension('VK_EXT_shader_stencil_export',             1, True),
-    Extension('VK_EXT_shader_subgroup_ballot',            1, True),
-    Extension('VK_EXT_shader_subgroup_vote',              1, True),
-    Extension('VK_EXT_shader_viewport_index_layer',       1, True),
-    Extension('VK_EXT_subgroup_size_control',             2, True),
-    Extension('VK_EXT_texel_buffer_alignment',            1, True),
-    Extension('VK_EXT_transform_feedback',                1, True),
-    Extension('VK_EXT_vertex_attribute_divisor',          3, True),
-    Extension('VK_EXT_ycbcr_image_arrays',                1, True),
-    Extension('VK_AMD_buffer_marker',                     1, True),
-    Extension('VK_AMD_device_coherent_memory',            1, True),
-    Extension('VK_AMD_draw_indirect_count',               2, True),
-    Extension('VK_AMD_gcn_shader',                        1, True),
-    Extension('VK_AMD_gpu_shader_half_float',             2, 
'device->rad_info.has_packed_math_16bit'),
-    Extension('VK_AMD_gpu_shader_int16',                  2, 
'device->rad_info.has_packed_math_16bit'),
-    Extension('VK_AMD_memory_overallocation_behavior',    1, True),
-    Extension('VK_AMD_mixed_attachment_samples',          1, True),
-    Extension('VK_AMD_rasterization_order',               1, 
'device->rad_info.has_out_of_order_rast'),
-    Extension('VK_AMD_shader_ballot',                     1, True),
-    Extension('VK_AMD_shader_core_properties',            2, True),
-    Extension('VK_AMD_shader_core_properties2',           1, True),
-    Extension('VK_AMD_shader_explicit_vertex_parameter',  1, True),
-    Extension('VK_AMD_shader_fragment_mask',              1, True),
-    Extension('VK_AMD_shader_image_load_store_lod',       1, True),
-    Extension('VK_AMD_shader_info',                       1, True),
-    Extension('VK_AMD_shader_trinary_minmax',             1, True),
-    Extension('VK_AMD_texture_gather_bias_lod',           1, True),
-    Extension('VK_ANDROID_external_memory_android_hardware_buffer', 3, 
'RADV_SUPPORT_ANDROID_HARDWARE_BUFFER  && 
device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_ANDROID_native_buffer',                 5, 'ANDROID && 
device->rad_info.has_syncobj_wait_for_submit'),
-    Extension('VK_GOOGLE_decorate_string',                1, True),
-    Extension('VK_GOOGLE_hlsl_functionality1',            1, True),
-    Extension('VK_GOOGLE_user_type',                      1, True),
-    Extension('VK_NV_compute_shader_derivatives',         1, True),
-    Extension('VK_VALVE_mutable_descriptor_type',         1, True),
-]
-
-# Sort the extension list the way we expect: KHR, then EXT, then vendors
-# alphabetically. For digits, read them as a whole number sort that.
-# eg.: VK_KHR_8bit_storage < VK_KHR_16bit_storage < VK_EXT_acquire_xlib_display
-def extension_order(ext):
-    order = []
-    for substring in re.split('(KHR|EXT|[0-9]+)', ext.name):
-        if substring == 'KHR':
-            order.append(1)
-        if substring == 'EXT':
-            order.append(2)
-        elif substring.isdigit():
-            order.append(int(substring))
-        else:
-            order.append(substring)
-    return order
-for i in range(len(EXTENSIONS) - 1):
-    if extension_order(EXTENSIONS[i + 1]) < extension_order(EXTENSIONS[i]):
-        print(EXTENSIONS[i + 1].name + ' should come before ' + 
EXTENSIONS[i].name)
-        exit(1)
-
-MAX_API_VERSION = VkVersion('0.0.0')
-for version in API_VERSIONS:
-    version.version = VkVersion(version.version)
-    version.version.patch = API_PATCH_VERSION
-    assert version.version > MAX_API_VERSION
-    MAX_API_VERSION = version.version
-
-if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--out-c', help='Output C file.', required=True)
-    parser.add_argument('--out-h', help='Output H file.', required=True)
-    parser.add_argument('--xml',
-                        help='Vulkan API XML file.',
-                        required=True,
-                        action='append',
-                        dest='xml_files')
-    args = parser.parse_args()
-
-    gen_extensions('radv', args.xml_files, API_VERSIONS, MAX_API_VERSION,
-                   EXTENSIONS, args.out_c, args.out_h)
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 361a7d318e8..5c94e179107 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -69,7 +69,6 @@
 #include "ac_llvm_util.h"
 #include "radv_constants.h"
 #include "radv_descriptor_set.h"
-#include "radv_extensions.h"
 #include "sid.h"
 #include "ac_sqtt.h"
 
@@ -338,7 +337,6 @@ struct radv_instance {
 
 VkResult radv_init_wsi(struct radv_physical_device *physical_device);
 void radv_finish_wsi(struct radv_physical_device *physical_device);
-uint32_t radv_physical_device_api_version(struct radv_physical_device *dev);
 
 struct cache_entry;
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to