diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index d10b0eb0af9..82ff18d4366 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -269,6 +269,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, vce.available_rings ? vce_version : 0; info->has_userptr = true; info->has_syncobj = has_syncobj(fd); + info->has_sync_file = info->has_syncobj && info->drm_minor >= 21; info->num_render_backends = amdinfo->rb_pipes; info->clock_crystal_freq = amdinfo->gpu_counter_freq; if (!info->clock_crystal_freq) { diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 5722709d24f..960fd74fcf0 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -81,6 +81,7 @@ struct radeon_info { uint32_t drm_patchlevel; bool has_userptr; bool has_syncobj; + bool has_sync_file; /* Shader cores. */ uint32_t r600_max_quad_pipes; /* wave size / 16 */ diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 44ff5890356..6d28cda2771 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -1361,6 +1361,7 @@ bool si_common_screen_init(struct r600_common_screen *rscreen, rscreen->info.drm_minor, rscreen->info.drm_patchlevel); printf("has_userptr = %i\n", rscreen->info.has_userptr); printf("has_syncobj = %u\n", rscreen->info.has_syncobj); + printf("has_sync_file = %u\n", rscreen->info.has_sync_file); printf("r600_max_quad_pipes = %i\n", rscreen->info.r600_max_quad_pipes); printf("max_shader_clock = %i\n", rscreen->info.max_shader_clock);