radv: Remove VK_EXT_display_control support in favor of common impl.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14365>
This commit is contained in:
Bas Nieuwenhuizen 2021-12-31 15:18:44 +01:00 committed by Marge Bot
parent 3443557364
commit 492dc06fbe
2 changed files with 0 additions and 131 deletions

View file

@ -125,10 +125,6 @@ if with_platform_wayland
radv_deps += dep_wayland_client
endif
if system_has_kms_drm and not with_platform_android
libradv_files += files('radv_wsi_display.c')
endif
if with_xlib_lease
radv_deps += [dep_xlib_xrandr]
endif

View file

@ -1,127 +0,0 @@
/*
* Copyright © 2017 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#include <amdgpu.h>
#include <fcntl.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
#include "drm-uapi/amdgpu_drm.h"
#include "util/debug.h"
#include "util/disk_cache.h"
#include "util/strtod.h"
#include "winsys/amdgpu/radv_amdgpu_winsys_public.h"
#include "radv_cs.h"
#include "radv_private.h"
#include "sid.h"
#include "vk_format.h"
#include "vk_util.h"
#include "wsi_common_display.h"
#define MM_PER_PIXEL (1.0 / 96.0 * 25.4)
/* VK_EXT_display_control */
VkResult
radv_RegisterDeviceEventEXT(VkDevice _device, const VkDeviceEventInfoEXT *device_event_info,
const VkAllocationCallbacks *allocator, VkFence *_fence)
{
RADV_FROM_HANDLE(radv_device, device, _device);
VkResult ret;
int fd;
ret = device->vk.dispatch_table.CreateFence(
_device,
&(VkFenceCreateInfo){
.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
.pNext =
&(VkExportFenceCreateInfo){
.sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
.handleTypes = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
},
},
allocator, _fence);
if (ret != VK_SUCCESS)
return ret;
ret = device->vk.dispatch_table.GetFenceFdKHR(
_device,
&(VkFenceGetFdInfoKHR){.sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
.fence = *_fence},
&fd);
if (ret == VK_SUCCESS) {
ret = wsi_register_device_event(_device, &device->physical_device->wsi_device,
device_event_info, allocator, NULL, fd);
close(fd);
}
if (ret != VK_SUCCESS)
device->vk.dispatch_table.DestroyFence(_device, *_fence, allocator);
return ret;
}
VkResult
radv_RegisterDisplayEventEXT(VkDevice _device, VkDisplayKHR display,
const VkDisplayEventInfoEXT *display_event_info,
const VkAllocationCallbacks *allocator, VkFence *_fence)
{
RADV_FROM_HANDLE(radv_device, device, _device);
VkResult ret;
int fd;
ret = device->vk.dispatch_table.CreateFence(
_device,
&(VkFenceCreateInfo){
.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
.pNext =
&(VkExportFenceCreateInfo){
.sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
.handleTypes = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
},
},
allocator, _fence);
if (ret != VK_SUCCESS)
return ret;
ret = device->vk.dispatch_table.GetFenceFdKHR(
_device,
&(VkFenceGetFdInfoKHR){.sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
.fence = *_fence},
&fd);
if (ret == VK_SUCCESS) {
ret = wsi_register_display_event(_device, &device->physical_device->wsi_device, display,
display_event_info, allocator, NULL, fd);
close(fd);
}
if (ret != VK_SUCCESS)
device->vk.dispatch_table.DestroyFence(_device, *_fence, allocator);
return ret;
}