On Wed, Sep 9, 2015 at 10:07 AM, Michel Dänzer <mic...@daenzer.net> wrote: > On 07.09.2015 07:17, Marek Olšák wrote: >> From: Marek Olšák <marek.ol...@amd.com> >> >> We will only do depth-only or stencil-only decompress blits, whichever is >> needed by textures, instead of always doing both. >> --- >> src/gallium/drivers/r600/evergreen_state.c | 4 ++-- >> src/gallium/drivers/r600/r600_state_common.c | 3 +++ >> src/gallium/drivers/radeon/r600_pipe_common.h | 1 + >> src/gallium/drivers/radeonsi/cik_sdma.c | 4 ++-- >> src/gallium/drivers/radeonsi/si_dma.c | 4 ++-- >> src/gallium/drivers/radeonsi/si_state_draw.c | 3 +++ >> 6 files changed, 13 insertions(+), 6 deletions(-) >> >> diff --git a/src/gallium/drivers/r600/evergreen_state.c >> b/src/gallium/drivers/r600/evergreen_state.c >> index 6f4cb55..8ecc498 100644 >> --- a/src/gallium/drivers/r600/evergreen_state.c >> +++ b/src/gallium/drivers/r600/evergreen_state.c >> @@ -3372,11 +3372,11 @@ static void evergreen_dma_copy(struct pipe_context >> *ctx, >> } >> >> if (src->format != dst->format || src_box->depth > 1 || >> - rdst->dirty_level_mask != 0) { >> + (rdst->dirty_level_mask | rdst->stencil_dirty_level_mask) & (1 << >> dst_level)) { >> goto fallback; >> } >> >> - if (rsrc->dirty_level_mask) { >> + if ((rsrc->dirty_level_mask | rsrc->stencil_dirty_level_mask) & (1 << >> src_level)) { >> ctx->flush_resource(ctx, src); >> } > > AFAICT ctx->flush_resource only decompresses colour resources, so is the > second change really necessary? Same in si_dma_copy().
Yes, you're right. I'll fix that. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev