diff options
author | Dave Airlie <[email protected]> | 2010-09-16 21:48:02 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-09-16 21:48:02 +1000 |
commit | ef2808f56fbf31c09b8bc61776a711e31e0e7ee2 (patch) | |
tree | 7d80ec23936a9d6ca0ab25f18096e8b251383f51 /src/gallium/drivers/r600/r600_texture.c | |
parent | 9a589961a281f77b938a4b5bf80409326743f147 (diff) |
r600g: fix texture bos and avoid doing depth blit on evergreen
since the depth blit code is hardcoded hex yay \o/
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 158ae227b1d..80cfa36ac01 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -314,6 +314,7 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx, void* r600_texture_transfer_map(struct pipe_context *ctx, struct pipe_transfer* transfer) { + struct r600_screen *rscreen = r600_screen(ctx->screen); struct r600_transfer *rtransfer = (struct r600_transfer*)transfer; struct radeon_bo *bo; enum pipe_format format = transfer->resource->format; @@ -328,7 +329,7 @@ void* r600_texture_transfer_map(struct pipe_context *ctx, bo = ((struct r600_resource *)rtransfer->linear_texture)->bo; } else { rtex = (struct r600_resource_texture*)transfer->resource; - if (rtex->depth) { + if (rtex->depth && rscreen->chip_class != EVERGREEN) { r = r600_texture_from_depth(ctx, rtex, transfer->sr.level); if (r) { return NULL; |