From: Alex Deucher Date: Mon, 7 Jan 2013 20:21:46 +0000 (-0500) Subject: r600g: set the virtual address for the htile buffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4332f6fc185f968e7563e748b8c949021937c935;p=mesa.git r600g: set the virtual address for the htile buffer Fixes cayman and TN with htile enabled. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=59089 https://bugs.freedesktop.org/show_bug.cgi?id=58667 Possibly others. Signed-off-by: Alex Deucher --- diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 032af78c1f1..7635f867210 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -1548,8 +1548,9 @@ static void evergreen_init_depth_surface(struct r600_context *rctx, surf->htile_enabled = 0; /* use htile only for first level */ if (rtex->htile && !level) { + uint64_t va = r600_resource_va(rctx->screen, rtex->htile); surf->htile_enabled = 1; - surf->db_htile_data_base = 0; + surf->db_htile_data_base = va >> 8; surf->db_htile_surface = S_028ABC_HTILE_WIDTH(1) | S_028ABC_HTILE_HEIGHT(1) | S_028ABC_LINEAR(1); diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index ef4edca807a..0cfc4e4ee68 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -1443,8 +1443,9 @@ static void r600_init_depth_surface(struct r600_context *rctx, surf->htile_enabled = 0; /* use htile only for first level */ if (rtex->htile && !level) { + uint64_t va = r600_resource_va(rctx->screen, rtex->htile); surf->htile_enabled = 1; - surf->db_htile_data_base = 0; + surf->db_htile_data_base = va >> 8; surf->db_htile_surface = S_028D24_HTILE_WIDTH(1) | S_028D24_HTILE_HEIGHT(1) | S_028D24_LINEAR(1);