summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-12-08 02:01:19 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:12 -0800
commitc53a67d4693745e52127b9ea027ecbf9e87ae639 (patch)
tree9dbb90699848f9c49c0d303981bf21b583056def
parent5eb75345b88be246474a4f26d6f7a99575f94461 (diff)
iris: be sure to skip buffers in resolve code
Buffers don't have ISL surfaces, and this can get us into trouble.
-rw-r--r--src/gallium/drivers/iris/iris_resolve.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_resolve.c b/src/gallium/drivers/iris/iris_resolve.c
index aedc12f125b..eb8552a3aca 100644
--- a/src/gallium/drivers/iris/iris_resolve.c
+++ b/src/gallium/drivers/iris/iris_resolve.c
@@ -94,6 +94,9 @@ resolve_sampler_views(struct iris_context *ice,
struct iris_sampler_view *isv = shs->textures[i];
struct iris_resource *res = (void *) isv->base.texture;
+ if (res->base.target == PIPE_BUFFER)
+ continue;
+
if (batch->name != IRIS_BATCH_COMPUTE) {
disable_rb_aux_buffer(ice, draw_aux_buffer_disabled,
res, isv->view.base_level, isv->view.levels,
@@ -122,6 +125,9 @@ resolve_image_views(struct iris_context *ice,
const int i = u_bit_scan(&views);
struct iris_resource *res = (void *) shs->image[i].res;
+ if (res->base.target == PIPE_BUFFER)
+ continue;
+
if (batch->name != IRIS_BATCH_COMPUTE) {
disable_rb_aux_buffer(ice, draw_aux_buffer_disabled,
res, 0, ~0, "as a shader image");