Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>

We should probably do something similar for has_sync_file since
sync_files are significantly older.

On Wed, Jan 3, 2018 at 10:51 PM, Marek Olšák <mar...@gmail.com> wrote:
> From: Marek Olšák <marek.ol...@amd.com>
>
> ---
>  src/amd/common/ac_gpu_info.c      | 2 +-
>  src/amd/common/ac_gpu_info.h      | 2 +-
>  src/amd/vulkan/radv_device.c      | 6 +++---
>  src/amd/vulkan/radv_extensions.py | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
> index c042bb2..2599fb6 100644
> --- a/src/amd/common/ac_gpu_info.c
> +++ b/src/amd/common/ac_gpu_info.c
> @@ -270,21 +270,21 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
>         info->max_se = amdinfo->num_shader_engines;
>         info->max_sh_per_se = amdinfo->num_shader_arrays_per_engine;
>         info->has_hw_decode =
>                 (uvd.available_rings != 0) || (vcn_dec.available_rings != 0);
>         info->uvd_fw_version =
>                 uvd.available_rings ? uvd_version : 0;
>         info->vce_fw_version =
>                 vce.available_rings ? vce_version : 0;
>         info->has_userptr = true;
>         info->has_syncobj = has_syncobj(fd);
> -       info->has_syncobj_wait = info->has_syncobj && info->drm_minor >= 20;
> +       info->has_syncobj_wait_for_submit = info->has_syncobj && 
> info->drm_minor >= 20;
>         info->has_sync_file = info->has_syncobj && info->drm_minor >= 21;
>         info->has_ctx_priority = info->drm_minor >= 22;
>         info->num_render_backends = amdinfo->rb_pipes;
>         info->clock_crystal_freq = amdinfo->gpu_counter_freq;
>         if (!info->clock_crystal_freq) {
>                 fprintf(stderr, "amdgpu: clock crystal frequency is 0, 
> timestamps will be wrong\n");
>                 info->clock_crystal_freq = 1;
>         }
>         info->tcc_cache_line_size = 64; /* TC L2 line size on GCN */
>         if (info->chip_class == GFX9) {
> diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
> index 04e17f9..235cc24 100644
> --- a/src/amd/common/ac_gpu_info.h
> +++ b/src/amd/common/ac_gpu_info.h
> @@ -74,21 +74,21 @@ struct radeon_info {
>         uint32_t                    vce_harvest_config;
>         uint32_t                    clock_crystal_freq;
>         uint32_t                    tcc_cache_line_size;
>
>         /* Kernel info. */
>         uint32_t                    drm_major; /* version */
>         uint32_t                    drm_minor;
>         uint32_t                    drm_patchlevel;
>         bool                        has_userptr;
>         bool                        has_syncobj;
> -       bool                        has_syncobj_wait;
> +       bool                        has_syncobj_wait_for_submit;
>         bool                        has_sync_file;
>         bool                        has_ctx_priority;
>
>         /* Shader cores. */
>         uint32_t                    r600_max_quad_pipes; /* wave size / 16 */
>         uint32_t                    max_shader_clock;
>         uint32_t                    num_good_compute_units;
>         uint32_t                    max_se; /* shader engines */
>         uint32_t                    max_sh_per_se; /* shader arrays per 
> shader engine */
>
> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
> index ed46692..cbf8f5c 100644
> --- a/src/amd/vulkan/radv_device.c
> +++ b/src/amd/vulkan/radv_device.c
> @@ -3811,22 +3811,22 @@ VkResult radv_GetSemaphoreFdKHR(VkDevice _device,
>         return VK_SUCCESS;
>  }
>
>  void radv_GetPhysicalDeviceExternalSemaphorePropertiesKHR(
>         VkPhysicalDevice                            physicalDevice,
>         const VkPhysicalDeviceExternalSemaphoreInfoKHR* 
> pExternalSemaphoreInfo,
>         VkExternalSemaphorePropertiesKHR*           
> pExternalSemaphoreProperties)
>  {
>         RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
>
> -       /* Require has_syncobj_wait for the syncobj signal ioctl introduced 
> at virtually the same time */
> -       if (pdevice->rad_info.has_syncobj_wait &&
> +       /* Require has_syncobj_wait_for_submit for the syncobj signal ioctl 
> introduced at virtually the same time */
> +       if (pdevice->rad_info.has_syncobj_wait_for_submit &&
>             (pExternalSemaphoreInfo->handleType == 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ||
>              pExternalSemaphoreInfo->handleType == 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR)) {
>                 pExternalSemaphoreProperties->exportFromImportedHandleTypes = 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR | 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
>                 pExternalSemaphoreProperties->compatibleHandleTypes = 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR | 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
>                 pExternalSemaphoreProperties->externalSemaphoreFeatures = 
> VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR |
>                         VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
>         } else if (pExternalSemaphoreInfo->handleType == 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR) {
>                 pExternalSemaphoreProperties->exportFromImportedHandleTypes = 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
>                 pExternalSemaphoreProperties->compatibleHandleTypes = 
> VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
>                 pExternalSemaphoreProperties->externalSemaphoreFeatures = 
> VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR |
> @@ -3892,21 +3892,21 @@ VkResult radv_GetFenceFdKHR(VkDevice _device,
>         return VK_SUCCESS;
>  }
>
>  void radv_GetPhysicalDeviceExternalFencePropertiesKHR(
>         VkPhysicalDevice                            physicalDevice,
>         const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo,
>         VkExternalFencePropertiesKHR*           pExternalFenceProperties)
>  {
>         RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
>
> -       if (pdevice->rad_info.has_syncobj_wait &&
> +       if (pdevice->rad_info.has_syncobj_wait_for_submit &&
>             (pExternalFenceInfo->handleType == 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ||
>              pExternalFenceInfo->handleType == 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR)) {
>                 pExternalFenceProperties->exportFromImportedHandleTypes = 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR | 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
>                 pExternalFenceProperties->compatibleHandleTypes = 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR | 
> VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
>                 pExternalFenceProperties->externalFenceFeatures = 
> VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR |
>                         VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
>         } else {
>                 pExternalFenceProperties->exportFromImportedHandleTypes = 0;
>                 pExternalFenceProperties->compatibleHandleTypes = 0;
>                 pExternalFenceProperties->externalFenceFeatures = 0;
> diff --git a/src/amd/vulkan/radv_extensions.py 
> b/src/amd/vulkan/radv_extensions.py
> index 9af941f..6bdb011 100644
> --- a/src/amd/vulkan/radv_extensions.py
> +++ b/src/amd/vulkan/radv_extensions.py
> @@ -46,23 +46,23 @@ class Extension:
>
>  # 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_bind_memory2',                      1, True),
>      Extension('VK_KHR_dedicated_allocation',              1, True),
>      Extension('VK_KHR_descriptor_update_template',        1, True),
> -    Extension('VK_KHR_external_fence',                    1, 
> 'device->rad_info.has_syncobj_wait'),
> +    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'),
> +    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_get_memory_requirements2',          1, True),
>      Extension('VK_KHR_get_physical_device_properties2',   1, True),
>      Extension('VK_KHR_get_surface_capabilities2',         1, True),
>      Extension('VK_KHR_image_format_list',                 1, True),
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to