Module: Mesa Branch: master Commit: db71537f01e0e6fd19e90bda6cfd727bb18832df URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=db71537f01e0e6fd19e90bda6cfd727bb18832df
Author: Marek Olšák <[email protected]> Date: Fri Aug 19 22:57:56 2011 +0200 r600g: don't allocate separate depth and stencil for transfer textures on EG The state tracker expects depth and stencil pixels interleaved. Evergreen can bind an interleaved depth-stencil resource as a colorbuffer, but not as a zbuffer. The hardware can do the interleaving for us when decompressing. --- 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 5681dd8..e41fe11 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -394,7 +394,8 @@ r600_texture_create_object(struct pipe_screen *screen, rtex->real_format = base->format; /* We must split depth and stencil into two separate buffers on Evergreen. */ - if (r600_get_family_class(((struct r600_screen*)screen)->radeon) >= EVERGREEN && + if (!(base->flags & R600_RESOURCE_FLAG_TRANSFER) && + r600_get_family_class(((struct r600_screen*)screen)->radeon) >= EVERGREEN && util_format_is_depth_and_stencil(base->format)) { struct pipe_resource stencil; unsigned stencil_pitch_override = 0; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
