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().


With that fixed, or if it's correct as is,

Reviewed-by: Michel Dänzer <michel.daen...@amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to