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 <alexander.deucher@amd.com>
This commit is contained in:
Alex Deucher 2013-01-07 15:21:46 -05:00
parent ca474f98f2
commit 4332f6fc18
2 changed files with 4 additions and 2 deletions

View File

@ -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);

View File

@ -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);