summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-12-19 05:36:53 +0000
committerDave Airlie <[email protected]>2017-12-19 05:38:12 +0000
commita1e18e87c775f16f4d66d3bd7de286bfee19fb3a (patch)
tree4039c1f9f2b2290b34d3046af3854c7a5671efb4
parent999f1cd5c6fc59b7e522dd12077ba1b6fe322242 (diff)
r600: clear compressed flags in image state on unbind.
If we aren't binding an image, clear the compressed flags. This fixes a segfault seen with an apitrace. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104331 Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index f64d6150037..0da665f6340 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -4071,6 +4071,8 @@ static void evergreen_set_shader_images(struct pipe_context *ctx,
if (!images || !images[idx].resource) {
pipe_resource_reference((struct pipe_resource **)&rview->base.resource, NULL);
istate->enabled_mask &= ~(1 << i);
+ istate->compressed_colortex_mask &= ~(1 << i);
+ istate->compressed_depthtex_mask &= ~(1 << i);
continue;
}