From fd235484fef7d9164f98cc907d10cf680881a9c6 Mon Sep 17 00:00:00 2001 From: James Xiong Date: Mon, 14 Oct 2019 15:55:18 -0700 Subject: [PATCH] iris: finish aux import on get_param A buffer and its aux are imported separately, if the aux import is not completed yet when resource_get_param is called, merge the separate aux a.k.a the 2nd image into the main image. Fixes: 246eebba4a8 ("iris: Export and import surfaces with modifiers that have aux data") Signed-off-by: James Xiong Reviewed-by: Kenneth Graunke Reviewed-by: Jordan Justen --- src/gallium/drivers/iris/iris_resource.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index cfdd43c6e21..cd411c3e6b8 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -1078,10 +1078,14 @@ iris_resource_get_param(struct pipe_screen *screen, bool mod_with_aux = res->mod_info && res->mod_info->aux_usage != ISL_AUX_USAGE_NONE; bool wants_aux = mod_with_aux && plane > 0; - struct iris_bo *bo = wants_aux ? res->aux.bo : res->bo; bool result; unsigned handle; + if (iris_resource_unfinished_aux_import(res)) + iris_resource_finish_aux_import(screen, res); + + struct iris_bo *bo = wants_aux ? res->aux.bo : res->bo; + iris_resource_disable_aux_on_first_query(resource, handle_usage); switch (param) { -- 2.30.2