summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_resource.c
diff options
context:
space:
mode:
authorRafael Antognolli <[email protected]>2019-03-26 16:28:10 -0700
committerRafael Antognolli <[email protected]>2019-04-02 15:26:41 -0700
commitdfc5620a41ee7fa86850ed68ac32c4dde3466a95 (patch)
treef72213f794ded13b9e9aa9a9156518efc21be060 /src/gallium/drivers/iris/iris_resource.c
parentc26d8a887d003d70518035e3db1ff3de260e8434 (diff)
iris: Do not allocate clear_color_bo for gen8.
Since we are not using it for the clear color, there's no need to allocate it. Fixes: a8b5ea8ef015ed4a "iris: Add function to update clear color in surface state." Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/iris/iris_resource.c')
-rw-r--r--src/gallium/drivers/iris/iris_resource.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index bf8af133552..60ab31bc014 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -335,8 +335,7 @@ iris_resource_alloc_aux(struct iris_screen *screen, struct iris_resource *res)
const struct gen_device_info *devinfo = &screen->devinfo;
const unsigned clear_color_state_size = devinfo->gen >= 10 ?
screen->isl_dev.ss.clear_color_state_size :
- screen->isl_dev.ss.clear_value_size;
-
+ (devinfo->gen >= 9 ? screen->isl_dev.ss.clear_value_size : 0);
assert(!res->aux.bo);
@@ -437,8 +436,10 @@ iris_resource_alloc_aux(struct iris_screen *screen, struct iris_resource *res)
iris_bo_unmap(res->aux.bo);
}
- res->aux.clear_color_bo = res->aux.bo;
- iris_bo_reference(res->aux.clear_color_bo);
+ if (clear_color_state_size > 0) {
+ res->aux.clear_color_bo = res->aux.bo;
+ iris_bo_reference(res->aux.clear_color_bo);
+ }
if (res->aux.usage == ISL_AUX_USAGE_HIZ) {
for (unsigned level = 0; level < res->surf.levels; ++level) {