diff options
author | Marek Olšák <marek.olsak@amd.com> | 2015-09-06 17:35:06 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-10-03 22:06:08 +0200 |
commit | 5804c6adf8361adb5d04feaf578dffbf840475d6 (patch) | |
tree | 87662fcbbae35b0378da4c7ba217733bd5a35d62 /src/gallium/drivers/radeonsi/si_state_draw.c | |
parent | cc92b9037507ccfb498bdcec27b4d186e230004f (diff) | |
download | external_mesa3d-5804c6adf8361adb5d04feaf578dffbf840475d6.zip external_mesa3d-5804c6adf8361adb5d04feaf578dffbf840475d6.tar.gz external_mesa3d-5804c6adf8361adb5d04feaf578dffbf840475d6.tar.bz2 |
gallium/radeon: add separate stencil level dirty flags
We will only do depth-only or stencil-only decompress blits, whichever is
needed by textures, instead of always doing both.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state_draw.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_draw.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index fb65eb3..43170ec 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -858,6 +858,9 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) struct r600_texture *rtex = (struct r600_texture *)surf->texture; rtex->dirty_level_mask |= 1 << surf->u.tex.level; + + if (rtex->surface.flags & RADEON_SURF_SBUFFER) + rtex->stencil_dirty_level_mask |= 1 << surf->u.tex.level; } if (sctx->framebuffer.compressed_cb_mask) { struct pipe_surface *surf; |