radv/winsys: remove unused syncobj functions
The vulkan common runtime code uses the drm functions directly.
Fixes: 91fe0b5629 ("radv: Delete lots of sync code.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14375>
This commit is contained in:
committed by
Marge Bot
parent
da0c708d79
commit
f43b0d5cdc
@@ -283,26 +283,6 @@ struct radeon_winsys {
|
||||
int (*surface_init)(struct radeon_winsys *ws, const struct ac_surf_info *surf_info,
|
||||
struct radeon_surf *surf);
|
||||
|
||||
int (*create_syncobj)(struct radeon_winsys *ws, bool create_signaled, uint32_t *handle);
|
||||
void (*destroy_syncobj)(struct radeon_winsys *ws, uint32_t handle);
|
||||
|
||||
void (*reset_syncobj)(struct radeon_winsys *ws, uint32_t handle);
|
||||
void (*signal_syncobj)(struct radeon_winsys *ws, uint32_t handle, uint64_t point);
|
||||
VkResult (*query_syncobj)(struct radeon_winsys *ws, uint32_t handle, uint64_t *point);
|
||||
bool (*wait_syncobj)(struct radeon_winsys *ws, const uint32_t *handles, uint32_t handle_count,
|
||||
bool wait_all, uint64_t timeout);
|
||||
VkResult (*wait_timeline_syncobj)(struct radeon_winsys *ws, const uint32_t *handles,
|
||||
const uint64_t *points, uint32_t handle_count, bool wait_all,
|
||||
bool available, uint64_t timeout);
|
||||
|
||||
int (*export_syncobj)(struct radeon_winsys *ws, uint32_t syncobj, int *fd);
|
||||
int (*import_syncobj)(struct radeon_winsys *ws, int fd, uint32_t *syncobj);
|
||||
|
||||
int (*export_syncobj_to_sync_file)(struct radeon_winsys *ws, uint32_t syncobj, int *fd);
|
||||
|
||||
/* 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 (*get_fd)(struct radeon_winsys *ws);
|
||||
|
||||
const struct vk_sync_type *const *(*get_sync_types)(struct radeon_winsys *ws);
|
||||
|
||||
@@ -1738,140 +1738,6 @@ error_out:
|
||||
return result;
|
||||
}
|
||||
|
||||
static int
|
||||
radv_amdgpu_create_syncobj(struct radeon_winsys *_ws, bool create_signaled, uint32_t *handle)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
uint32_t flags = 0;
|
||||
|
||||
if (create_signaled)
|
||||
flags |= DRM_SYNCOBJ_CREATE_SIGNALED;
|
||||
|
||||
return amdgpu_cs_create_syncobj2(ws->dev, flags, handle);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_amdgpu_destroy_syncobj(struct radeon_winsys *_ws, uint32_t handle)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
amdgpu_cs_destroy_syncobj(ws->dev, handle);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_amdgpu_reset_syncobj(struct radeon_winsys *_ws, uint32_t handle)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
amdgpu_cs_syncobj_reset(ws->dev, &handle, 1);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_amdgpu_signal_syncobj(struct radeon_winsys *_ws, uint32_t handle, uint64_t point)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
if (point)
|
||||
amdgpu_cs_syncobj_timeline_signal(ws->dev, &handle, &point, 1);
|
||||
else
|
||||
amdgpu_cs_syncobj_signal(ws->dev, &handle, 1);
|
||||
}
|
||||
|
||||
static VkResult
|
||||
radv_amdgpu_query_syncobj(struct radeon_winsys *_ws, uint32_t handle, uint64_t *point)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
int ret = amdgpu_cs_syncobj_query(ws->dev, &handle, point, 1);
|
||||
if (ret == 0)
|
||||
return VK_SUCCESS;
|
||||
else if (ret == -ENOMEM)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
else {
|
||||
/* Remaining error are driver internal issues: EFAULT for
|
||||
* dangling pointers and ENOENT for non-existing syncobj. */
|
||||
fprintf(stderr, "amdgpu: internal error in radv_amdgpu_query_syncobj. (%d)\n", ret);
|
||||
return VK_ERROR_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
radv_amdgpu_wait_syncobj(struct radeon_winsys *_ws, const uint32_t *handles, uint32_t handle_count,
|
||||
bool wait_all, uint64_t timeout)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
uint32_t tmp;
|
||||
|
||||
/* The timeouts are signed, while vulkan timeouts are unsigned. */
|
||||
timeout = MIN2(timeout, INT64_MAX);
|
||||
|
||||
int ret = amdgpu_cs_syncobj_wait(
|
||||
ws->dev, (uint32_t *)handles, handle_count, timeout,
|
||||
DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT | (wait_all ? DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL : 0),
|
||||
&tmp);
|
||||
if (ret == 0) {
|
||||
return true;
|
||||
} else if (ret == -ETIME) {
|
||||
return false;
|
||||
} else {
|
||||
fprintf(stderr, "amdgpu: radv_amdgpu_wait_syncobj failed! (%d)\n", ret);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static VkResult
|
||||
radv_amdgpu_wait_timeline_syncobj(struct radeon_winsys *_ws, const uint32_t *handles,
|
||||
const uint64_t *points, uint32_t handle_count, bool wait_all,
|
||||
bool available, uint64_t timeout)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
|
||||
/* The timeouts are signed, while vulkan timeouts are unsigned. */
|
||||
timeout = MIN2(timeout, INT64_MAX);
|
||||
|
||||
int ret = amdgpu_cs_syncobj_timeline_wait(
|
||||
ws->dev, (uint32_t *)handles, (uint64_t *)points, handle_count, timeout,
|
||||
DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT | (wait_all ? DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL : 0) |
|
||||
(available ? DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE : 0),
|
||||
NULL);
|
||||
if (ret == 0) {
|
||||
return VK_SUCCESS;
|
||||
} else if (ret == -ETIME) {
|
||||
return VK_TIMEOUT;
|
||||
} else {
|
||||
fprintf(stderr, "amdgpu: radv_amdgpu_wait_timeline_syncobj failed! (%d)\n", ret);
|
||||
return VK_ERROR_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
radv_amdgpu_export_syncobj(struct radeon_winsys *_ws, uint32_t syncobj, int *fd)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
|
||||
return amdgpu_cs_export_syncobj(ws->dev, syncobj, fd);
|
||||
}
|
||||
|
||||
static int
|
||||
radv_amdgpu_import_syncobj(struct radeon_winsys *_ws, int fd, uint32_t *syncobj)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
|
||||
return amdgpu_cs_import_syncobj(ws->dev, fd, syncobj);
|
||||
}
|
||||
|
||||
static int
|
||||
radv_amdgpu_export_syncobj_to_sync_file(struct radeon_winsys *_ws, uint32_t syncobj, int *fd)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
|
||||
return amdgpu_cs_syncobj_export_sync_file(ws->dev, syncobj, fd);
|
||||
}
|
||||
|
||||
static int
|
||||
radv_amdgpu_import_syncobj_from_sync_file(struct radeon_winsys *_ws, uint32_t syncobj, int fd)
|
||||
{
|
||||
struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(_ws);
|
||||
|
||||
return amdgpu_cs_syncobj_import_sync_file(ws->dev, syncobj, fd);
|
||||
}
|
||||
|
||||
void
|
||||
radv_amdgpu_cs_init_functions(struct radv_amdgpu_winsys *ws)
|
||||
{
|
||||
@@ -1888,15 +1754,4 @@ radv_amdgpu_cs_init_functions(struct radv_amdgpu_winsys *ws)
|
||||
ws->base.cs_execute_secondary = radv_amdgpu_cs_execute_secondary;
|
||||
ws->base.cs_submit = radv_amdgpu_winsys_cs_submit;
|
||||
ws->base.cs_dump = radv_amdgpu_winsys_cs_dump;
|
||||
ws->base.create_syncobj = radv_amdgpu_create_syncobj;
|
||||
ws->base.destroy_syncobj = radv_amdgpu_destroy_syncobj;
|
||||
ws->base.reset_syncobj = radv_amdgpu_reset_syncobj;
|
||||
ws->base.signal_syncobj = radv_amdgpu_signal_syncobj;
|
||||
ws->base.query_syncobj = radv_amdgpu_query_syncobj;
|
||||
ws->base.wait_syncobj = radv_amdgpu_wait_syncobj;
|
||||
ws->base.wait_timeline_syncobj = radv_amdgpu_wait_timeline_syncobj;
|
||||
ws->base.export_syncobj = radv_amdgpu_export_syncobj;
|
||||
ws->base.import_syncobj = radv_amdgpu_import_syncobj;
|
||||
ws->base.export_syncobj_to_sync_file = radv_amdgpu_export_syncobj_to_sync_file;
|
||||
ws->base.import_syncobj_from_sync_file = radv_amdgpu_import_syncobj_from_sync_file;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user