mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-21 02:28:07 +02:00
iris: Avoid creating uncompressed view with unaligned tile offsets on BDW
Fixes:60568d5d("iris: Use isl_surf_get_uncompressed_surf") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7990 Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21147> (cherry picked from commit4229d9324f)
This commit is contained in:
parent
2d0b4d36a3
commit
f79e814218
2 changed files with 16 additions and 1 deletions
|
|
@ -7501,7 +7501,7 @@
|
|||
"description": "iris: Avoid creating uncompressed view with unaligned tile offsets on BDW",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "60568d5dce988ffb67966d88b6feeb67516c7145"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2799,6 +2799,21 @@ iris_create_surface(struct pipe_context *ctx,
|
|||
&res->surf, view,
|
||||
&isl_surf, view, &offset_B,
|
||||
&tile_x_el, &tile_y_el);
|
||||
|
||||
/* On Broadwell, HALIGN and VALIGN are specified in pixels and are
|
||||
* hard-coded to align to exactly the block size of the compressed
|
||||
* texture. This means that, when reinterpreted as a non-compressed
|
||||
* texture, the tile offsets may be anything.
|
||||
*
|
||||
* We need them to be multiples of 4 to be usable in RENDER_SURFACE_STATE,
|
||||
* so force the state tracker to take fallback paths if they're not.
|
||||
*/
|
||||
#if GFX_VER == 8
|
||||
if (tile_x_el % 4 != 0 || tile_y_el % 4 != 0) {
|
||||
ok = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!ok) {
|
||||
free(surf);
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue