iris: allow compression conditionally for images on gen12
With this change, amount of resolves happening with deqp-gles31 (--deqp-case=*load_store*) drops ~50%. v2: use iris_image_view_get_format to get the format, get devinfo from context instead of passing it (Nanley) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4080> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4080>
This commit is contained in:
parent
d836f3fadf
commit
fd1436440b
|
@ -993,6 +993,24 @@ iris_image_view_aux_usage(struct iris_context *ice,
|
|||
const struct pipe_image_view *pview,
|
||||
const struct shader_info *info)
|
||||
{
|
||||
if (!info)
|
||||
return ISL_AUX_USAGE_NONE;
|
||||
|
||||
struct iris_screen *screen = (void *) ice->ctx.screen;
|
||||
const struct gen_device_info *devinfo = &screen->devinfo;
|
||||
struct iris_resource *res = (void *) pview->resource;
|
||||
|
||||
enum isl_format view_format = iris_image_view_get_format(ice, pview);
|
||||
enum isl_aux_usage aux_usage =
|
||||
iris_resource_texture_aux_usage(ice, res, view_format);
|
||||
|
||||
bool uses_atomic_load_store =
|
||||
ice->shaders.uncompiled[info->stage]->uses_atomic_load_store;
|
||||
|
||||
if ((devinfo->gen == 12 && aux_usage == ISL_AUX_USAGE_CCS_E) &&
|
||||
!uses_atomic_load_store)
|
||||
return ISL_AUX_USAGE_CCS_E;
|
||||
|
||||
return ISL_AUX_USAGE_NONE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue