iris: Fix aux assertion in resource_get_handle

iris_resource_get_handle currently asserts that the resource has an aux
state that is suitable for sharing. However, the caller of this function
can pass a flag to specify that it will handle flushing/resolving the
resource as needed for sharing. Take this flag into account when
asserting the state of the aux buffer.

Fixes: e81392868e ("iris/resource: Drop redundant checks for aux support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/128
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1371>
(cherry picked from commit 3cf6325e72)
This commit is contained in:
Nanley Chery 2019-07-17 13:19:43 -07:00 committed by Dylan Baker
parent d2208acffe
commit 78764a41c2
2 changed files with 2 additions and 1 deletions

View file

@ -2137,7 +2137,7 @@
"description": "iris: Fix aux assertion in resource_get_handle",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "e81392868e6827360762fff38baf2c10c1f3b7f0"
},

View file

@ -1276,6 +1276,7 @@ iris_resource_get_handle(struct pipe_screen *pscreen,
#ifndef NDEBUG
enum isl_aux_usage allowed_usage =
usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH ? res->aux.usage :
res->mod_info ? res->mod_info->aux_usage : ISL_AUX_USAGE_NONE;
if (res->aux.usage != allowed_usage) {