diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 8eab2c73029..1ea04abd8b0 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -503,6 +503,9 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, info->vram_vis_size = vram_vis.heap_size; } + /* Add some margin of error, though this shouldn't be needed in theory. */ + info->all_vram_visible = info->vram_size * 0.9 < info->vram_vis_size; + /* Set chip identification. */ info->pci_id = amdinfo->asic_id; /* TODO: is this correct? */ info->pci_rev_id = amdinfo->pci_rev_id; @@ -1044,6 +1047,7 @@ void ac_print_gpu_info(struct radeon_info *info, FILE *f) fprintf(f, " min_alloc_size = %u\n", info->min_alloc_size); fprintf(f, " address32_hi = %u\n", info->address32_hi); fprintf(f, " has_dedicated_vram = %u\n", info->has_dedicated_vram); + fprintf(f, " all_vram_visible = %u\n", info->all_vram_visible); fprintf(f, " num_sdp_interfaces = %u\n", info->num_sdp_interfaces); fprintf(f, " num_tcc_blocks = %i\n", info->num_tcc_blocks); fprintf(f, " tcc_cache_line_size = %u\n", info->tcc_cache_line_size); diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 86119d64a07..0904f125ea4 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -98,6 +98,7 @@ struct radeon_info { uint32_t min_alloc_size; uint32_t address32_hi; bool has_dedicated_vram; + bool all_vram_visible; bool has_l2_uncached; bool r600_has_virtual_memory; uint32_t num_sdp_interfaces;