radv: Initialize vk device drm fd.
For common sync. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974>
This commit is contained in:
parent
101a366e57
commit
3055d2f9df
|
@ -3074,6 +3074,7 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr
|
||||||
device->physical_device = physical_device;
|
device->physical_device = physical_device;
|
||||||
|
|
||||||
device->ws = physical_device->ws;
|
device->ws = physical_device->ws;
|
||||||
|
vk_device_set_drm_fd(&device->vk, device->ws->get_fd(device->ws));
|
||||||
|
|
||||||
keep_shader_info = device->vk.enabled_extensions.AMD_shader_info;
|
keep_shader_info = device->vk.enabled_extensions.AMD_shader_info;
|
||||||
|
|
||||||
|
|
|
@ -312,6 +312,8 @@ struct radeon_winsys {
|
||||||
|
|
||||||
/* Note that this, unlike the normal import, uses an existing syncobj. */
|
/* Note that this, unlike the normal import, uses an existing syncobj. */
|
||||||
int (*import_syncobj_from_sync_file)(struct radeon_winsys *ws, uint32_t syncobj, int fd);
|
int (*import_syncobj_from_sync_file)(struct radeon_winsys *ws, uint32_t syncobj, int fd);
|
||||||
|
|
||||||
|
int (*get_fd)(struct radeon_winsys *ws);
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
|
|
@ -180,6 +180,13 @@ radv_amdgpu_winsys_destroy(struct radeon_winsys *rws)
|
||||||
FREE(rws);
|
FREE(rws);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
radv_amdgpu_winsys_get_fd(struct radeon_winsys *rws)
|
||||||
|
{
|
||||||
|
struct radv_amdgpu_winsys *ws = (struct radv_amdgpu_winsys *)rws;
|
||||||
|
return amdgpu_device_get_fd(ws->dev);
|
||||||
|
}
|
||||||
|
|
||||||
struct radeon_winsys *
|
struct radeon_winsys *
|
||||||
radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags, bool reserve_vmid)
|
radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags, bool reserve_vmid)
|
||||||
{
|
{
|
||||||
|
@ -244,6 +251,7 @@ radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags,
|
||||||
ws->base.read_registers = radv_amdgpu_winsys_read_registers;
|
ws->base.read_registers = radv_amdgpu_winsys_read_registers;
|
||||||
ws->base.get_chip_name = radv_amdgpu_winsys_get_chip_name;
|
ws->base.get_chip_name = radv_amdgpu_winsys_get_chip_name;
|
||||||
ws->base.destroy = radv_amdgpu_winsys_destroy;
|
ws->base.destroy = radv_amdgpu_winsys_destroy;
|
||||||
|
ws->base.get_fd = radv_amdgpu_winsys_get_fd;
|
||||||
radv_amdgpu_bo_init_functions(ws);
|
radv_amdgpu_bo_init_functions(ws);
|
||||||
radv_amdgpu_cs_init_functions(ws);
|
radv_amdgpu_cs_init_functions(ws);
|
||||||
radv_amdgpu_surface_init_functions(ws);
|
radv_amdgpu_surface_init_functions(ws);
|
||||||
|
|
|
@ -157,6 +157,12 @@ radv_null_winsys_destroy(struct radeon_winsys *rws)
|
||||||
FREE(rws);
|
FREE(rws);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
radv_null_winsys_get_fd(struct radeon_winsys *rws)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
struct radeon_winsys *
|
struct radeon_winsys *
|
||||||
radv_null_winsys_create()
|
radv_null_winsys_create()
|
||||||
{
|
{
|
||||||
|
@ -168,6 +174,7 @@ radv_null_winsys_create()
|
||||||
|
|
||||||
ws->base.destroy = radv_null_winsys_destroy;
|
ws->base.destroy = radv_null_winsys_destroy;
|
||||||
ws->base.query_info = radv_null_winsys_query_info;
|
ws->base.query_info = radv_null_winsys_query_info;
|
||||||
|
ws->base.get_fd = radv_null_winsys_get_fd;
|
||||||
radv_null_bo_init_functions(ws);
|
radv_null_bo_init_functions(ws);
|
||||||
radv_null_cs_init_functions(ws);
|
radv_null_cs_init_functions(ws);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue