diff --git a/.pick_status.json b/.pick_status.json index ae7760326b2..b3025f42a80 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1084,7 +1084,7 @@ "description": "gallium: handle copy_image of depth textures", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "5027b5aa28fb9395b1acff57336d2862753bba17", "notes": null diff --git a/src/mesa/state_tracker/st_cb_copyimage.c b/src/mesa/state_tracker/st_cb_copyimage.c index 2bf95a66358..f3ab37fcbdc 100644 --- a/src/mesa/state_tracker/st_cb_copyimage.c +++ b/src/mesa/state_tracker/st_cb_copyimage.c @@ -282,7 +282,10 @@ blit(struct pipe_context *pipe, blit.src.box = *src_box; u_box_3d(dstx, dsty, dstz, src_box->width, src_box->height, src_box->depth, &blit.dst.box); - blit.mask = PIPE_MASK_RGBA; + if (util_format_is_depth_or_stencil(dst_format)) + blit.mask = PIPE_MASK_ZS; + else + blit.mask = PIPE_MASK_RGBA; blit.filter = PIPE_TEX_FILTER_NEAREST; pipe->blit(pipe, &blit);