diff options
author | Alex Deucher <[email protected]> | 2013-01-07 15:21:46 -0500 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2013-01-07 15:21:46 -0500 |
commit | 4332f6fc185f968e7563e748b8c949021937c935 (patch) | |
tree | 5956957ed134955467ce1f274492bcc3f65e9d7f /src/gallium/drivers | |
parent | ca474f98f2cda5cb333e9f851c7e0e31c9a6f823 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_state.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 3 |
2 files changed, 4 insertions, 2 deletions
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); |