intel/blorp: Fix Gfx7 stencil surface state valign

Stencil on Gfx7 has a vertical alignment element of 8, but the largest
its surface state can express is 4. Apply the Gfx6 solution of changing
the alignment in blorp_surf_retile_w_to_y.

Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
(cherry picked from commit c7bcbc950c)
This commit is contained in:
Nanley Chery 2021-07-30 14:31:05 -07:00 committed by Dylan Baker
parent 894627ec89
commit ad37d530ce
2 changed files with 3 additions and 3 deletions

View file

@ -949,7 +949,7 @@
"description": "intel/blorp: Fix Gfx7 stencil surface state valign",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -1649,8 +1649,8 @@ blorp_surf_retile_w_to_y(const struct isl_device *isl_dev,
blorp_surf_fake_interleaved_msaa(isl_dev, info);
}
if (isl_dev->info->ver == 6) {
/* Gfx6 stencil buffers have a very large alignment coming in from the
if (isl_dev->info->ver == 6 || isl_dev->info->ver == 7) {
/* Gfx6-7 stencil buffers have a very large alignment coming in from the
* miptree. It's out-of-bounds for what the surface state can handle.
* Since we have a single layer and level, it doesn't really matter as
* long as we don't pass a bogus value into isl_surf_fill_state().