Commit 7e7722dc authored by Lionel Landwerlin's avatar Lionel Landwerlin Committed by Eric Engestrom
Browse files

isl: drop min row pitch alignment when set by the driver



When the caller of the isl_surf_init() specifies a row pitch, do not
consider the minimum CCS requirement if it's incompatible with the
caller's value.

isl_surf_get_ccs_surf() will check that the main surface alignment
matches CCS expectations.

v2: Simplify checks (Nanley)

v3: Add Comment about isl_surf_get_ccs_surf() (Jason)
Signed-off-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Fixes: a3f6db2c

 ("isl: drop CCS row pitch requirement for linear surfaces")
Reviewed-by: Nanley Chery's avatarNanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <mesa/mesa!4243>
Part-of: <mesa/mesa!4243>
(cherry picked from commit 507abc39)
parent b1cbf7d9
......@@ -67,7 +67,7 @@
"description": "isl: drop min row pitch alignment when set by the driver",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "a3f6db2c4e927be7e7d40cbc39c8664030d2af59"
},
......
......@@ -1368,11 +1368,19 @@ isl_calc_row_pitch_alignment(const struct isl_device *dev,
if (tile_info->tiling != ISL_TILING_LINEAR) {
/* According to BSpec: 44930, Gen12's CCS-compressed surface pitches must
* be 512B-aligned. CCS is only support on Y tilings.
*
* Only consider 512B alignment when :
* - AUX is not explicitly disabled
* - the caller has specified no pitch
*
* isl_surf_get_ccs_surf() will check that the main surface alignment
* matches CCS expectations.
*/
if (ISL_DEV_GEN(dev) >= 12 &&
isl_format_supports_ccs_e(dev->info, surf_info->format) &&
tile_info->tiling != ISL_TILING_X &&
!(surf_info->usage & ISL_SURF_USAGE_DISABLE_AUX_BIT)) {
!(surf_info->usage & ISL_SURF_USAGE_DISABLE_AUX_BIT) &&
surf_info->row_pitch_B == 0) {
return isl_align(tile_info->phys_extent_B.width, 512);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment