ac: rename has_sync_file to has_fence_to_handle.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 3 Jan 2018 23:19:41 +0000 (00:19 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 4 Jan 2018 00:12:09 +0000 (01:12 +0100)
sync_files are in linux since 4.7, while the amdgpu fence_to_handle
ioctl is only in 4.15.

In particular we don't need it for sync_file in radv, because
everything happens via syncobjs, which got support earlier than
fence_to_handle.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/amd/common/ac_gpu_info.c
src/amd/common/ac_gpu_info.h
src/gallium/drivers/radeonsi/si_fence.c
src/gallium/drivers/radeonsi/si_get.c

index 2599fb61643a265b022450a748f29cd077588816..6d9dcb5c56db322cd0cf071067a4fefc4473b5a2 100644 (file)
@@ -278,7 +278,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
        info->has_userptr = true;
        info->has_syncobj = has_syncobj(fd);
        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_fence_to_handle = 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;
@@ -392,7 +392,7 @@ void ac_print_gpu_info(struct radeon_info *info)
               info->drm_minor, info->drm_patchlevel);
        printf("has_userptr = %i\n", info->has_userptr);
        printf("has_syncobj = %u\n", info->has_syncobj);
-       printf("has_sync_file = %u\n", info->has_sync_file);
+       printf("has_fence_to_handle = %u\n", info->has_fence_to_handle);
 
        printf("r600_max_quad_pipes = %i\n", info->r600_max_quad_pipes);
        printf("max_shader_clock = %i\n", info->max_shader_clock);
index 235cc245bd99fec76c7ea373a8d9222849d076d3..cca3e98d3666f88223e7fb8874f8032eb42ca7f2 100644 (file)
@@ -82,7 +82,7 @@ struct radeon_info {
        bool                        has_userptr;
        bool                        has_syncobj;
        bool                        has_syncobj_wait_for_submit;
-       bool                        has_sync_file;
+       bool                        has_fence_to_handle;
        bool                        has_ctx_priority;
 
        /* Shader cores. */
index 3c4d75462af0a7c49c5626963c37ccdb2f33df16..5f320803aaecd5f0f1916ae1c0af83249facccb3 100644 (file)
@@ -306,7 +306,7 @@ static void si_create_fence_fd(struct pipe_context *ctx,
 
        *pfence = NULL;
 
-       if (!sscreen->info.has_sync_file)
+       if (!sscreen->info.has_fence_to_handle)
                return;
 
        rfence = si_create_multi_fence();
@@ -330,7 +330,7 @@ static int si_fence_get_fd(struct pipe_screen *screen,
        struct si_multi_fence *rfence = (struct si_multi_fence *)fence;
        int gfx_fd = -1, sdma_fd = -1;
 
-       if (!sscreen->info.has_sync_file)
+       if (!sscreen->info.has_fence_to_handle)
                return -1;
 
        util_queue_fence_wait(&rfence->ready);
index fd42adbcae75bdd916edac3ec4ce812289d577e5..9b5a03edafbb032b4b3058e56b4ee5769b2c3f49 100644 (file)
@@ -278,7 +278,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
                return 0;
 
        case PIPE_CAP_NATIVE_FENCE_FD:
-               return sscreen->info.has_sync_file;
+               return sscreen->info.has_fence_to_handle;
 
        case PIPE_CAP_QUERY_BUFFER_OBJECT:
                return si_have_tgsi_compute(sscreen);