ac/gpu_info: if clock crystal frequency is 0, print an error and set 1
authorMarek Olšák <marek.olsak@amd.com>
Mon, 10 Jul 2017 14:01:28 +0000 (16:01 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 17 Jul 2017 14:56:59 +0000 (10:56 -0400)
During bring-up, this is often 0. Prevent automatic disablement of
ARB_timer_query and demotion of the OpenGL version to 3.2 by setting
a non-zero frequency. Print an error message instead.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/amd/common/ac_gpu_info.c

index 3f39a089ecb59a2ca22473d456c6a9fec9bcbc30..ced7183cf64210cbb75174c812d184da3f5d0a2a 100644 (file)
@@ -260,6 +260,10 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
        info->has_userptr = true;
        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);