From: Marek Olšák <marek.ol...@amd.com>

---
 src/amd/common/ac_gpu_info.c                  | 1 +
 src/amd/common/ac_gpu_info.h                  | 1 +
 src/gallium/drivers/radeon/r600_pipe_common.c | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index e55d864..5125532 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -260,20 +260,21 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
        info->max_se = amdinfo->num_shader_engines;
        info->max_sh_per_se = amdinfo->num_shader_arrays_per_engine;
        info->has_hw_decode =
                (uvd.available_rings != 0) || (vcn_dec.available_rings != 0);
        info->uvd_fw_version =
                uvd.available_rings ? uvd_version : 0;
        info->vce_fw_version =
                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) {
                fprintf(stderr, "amdgpu: clock crystal frequency is 0, 
timestamps will be wrong\n");
                info->clock_crystal_freq = 1;
        }
        info->tcc_cache_line_size = 64; /* TC L2 line size on GCN */
        if (info->chip_class == GFX9) {
                info->num_tile_pipes = 1 << 
G_0098F8_NUM_PIPES(amdinfo->gb_addr_cfg);
                info->pipe_interleave_bytes =
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index 06b0c77..a792a1e 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -71,20 +71,21 @@ struct radeon_info {
        uint32_t                    vce_harvest_config;
        uint32_t                    clock_crystal_freq;
        uint32_t                    tcc_cache_line_size;
 
        /* Kernel info. */
        uint32_t                    drm_major; /* version */
        uint32_t                    drm_minor;
        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 */
        uint32_t                    max_shader_clock;
        uint32_t                    num_good_compute_units;
        uint32_t                    max_se; /* shader engines */
        uint32_t                    max_sh_per_se; /* shader arrays per shader 
engine */
 
        /* Render backends (color + depth blocks). */
        uint32_t                    r300_num_gb_pipes;
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
b/src/gallium/drivers/radeon/r600_pipe_common.c
index fc27b4c..48fda7b 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -1556,20 +1556,21 @@ bool r600_common_screen_init(struct r600_common_screen 
*rscreen,
                printf("me_fw_version = %i\n", rscreen->info.me_fw_version);
                printf("pfp_fw_version = %i\n", rscreen->info.pfp_fw_version);
                printf("ce_fw_version = %i\n", rscreen->info.ce_fw_version);
                printf("vce_harvest_config = %i\n", 
rscreen->info.vce_harvest_config);
                printf("clock_crystal_freq = %i\n", 
rscreen->info.clock_crystal_freq);
                printf("tcc_cache_line_size = %u\n", 
rscreen->info.tcc_cache_line_size);
                printf("drm = %i.%i.%i\n", rscreen->info.drm_major,
                       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);
                printf("num_good_compute_units = %i\n", 
rscreen->info.num_good_compute_units);
                printf("max_se = %i\n", rscreen->info.max_se);
                printf("max_sh_per_se = %i\n", rscreen->info.max_sh_per_se);
 
                printf("r600_gb_backend_map = %i\n", 
rscreen->info.r600_gb_backend_map);
                printf("r600_gb_backend_map_valid = %i\n", 
rscreen->info.r600_gb_backend_map_valid);
                printf("r600_num_banks = %i\n", rscreen->info.r600_num_banks);
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to