From 156b7e244c93e82f5d6b19caae1ec25e7f0e91bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 26 Jul 2014 12:37:03 +0200 Subject: [PATCH] winsys/radeon: fix vram_size overflow with Hawaii This fixes piglit spec/!OpenGL 3.1/minmax. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Alex Deucher --- src/gallium/drivers/r300/r300_context.c | 4 +++- src/gallium/winsys/radeon/drm/radeon_drm_cs.h | 4 ++-- src/gallium/winsys/radeon/drm/radeon_winsys.h | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index 7ae355189fc..4e06fc49d22 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -37,6 +37,8 @@ #include "r300_screen_buffer.h" #include "compiler/radeon_regalloc.h" +#include + static void r300_release_referenced_objects(struct r300_context *r300) { struct pipe_framebuffer_state *fb = @@ -482,7 +484,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, #endif fprintf(stderr, "r300: DRM version: %d.%d.%d, Name: %s, ID: 0x%04x, GB: %d, Z: %d\n" - "r300: GART size: %d MB, VRAM size: %d MB\n" + "r300: GART size: %"PRIu64" MB, VRAM size: %"PRIu64" MB\n" "r300: AA compression RAM: %s, Z compression RAM: %s, HiZ RAM: %s\n", r300->screen->info.drm_major, r300->screen->info.drm_minor, diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.h b/src/gallium/winsys/radeon/drm/radeon_drm_cs.h index c601019954c..089494eac23 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.h @@ -50,8 +50,8 @@ struct radeon_cs_context { int reloc_indices_hashlist[512]; - unsigned used_vram; - unsigned used_gart; + uint64_t used_vram; + uint64_t used_gart; }; struct radeon_drm_cs { diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h index 9aea1e89f06..dbd58f1cd8d 100644 --- a/src/gallium/winsys/radeon/drm/radeon_winsys.h +++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h @@ -199,8 +199,8 @@ struct radeon_info { uint32_t pci_id; enum radeon_family family; enum chip_class chip_class; - uint32_t gart_size; - uint32_t vram_size; + uint64_t gart_size; + uint64_t vram_size; uint32_t max_sclk; uint32_t max_compute_units; uint32_t max_se; -- 2.30.2