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