summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state_draw.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2015-09-06 17:35:06 +0200
committerMarek Olšák <marek.olsak@amd.com>2015-10-03 22:06:08 +0200
commit5804c6adf8361adb5d04feaf578dffbf840475d6 (patch)
tree87662fcbbae35b0378da4c7ba217733bd5a35d62 /src/gallium/drivers/radeonsi/si_state_draw.c
parentcc92b9037507ccfb498bdcec27b4d186e230004f (diff)
downloadexternal_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.c3
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;