iris: Return a 64B stride for clear color plane

Although modifiers which use a clear color plane specify that the
plane's pitch should be ignored, some kernels have been found to require
64-byte alignment.

Cc: mesa-stable
Fixes: db475c81b7 ("iris: Return non-zero stride for clear color plane")
Reported-by: Dongwon Kim <dongwon.kim@intel.com>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521>
(cherry picked from commit 2bc8c61fd0)
This commit is contained in:
Nanley Chery 2022-04-28 08:01:19 -07:00 committed by Dylan Baker
parent ab77ed52c7
commit ddee3db280
2 changed files with 7 additions and 3 deletions

View file

@ -1260,7 +1260,7 @@
"description": "iris: Return a 64B stride for clear color plane",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"because_sha": "db475c81b7cdde9d967b0216e6f12d17e0adae83"
},
{

View file

@ -1605,14 +1605,18 @@ iris_resource_get_param(struct pipe_screen *pscreen,
}
return true;
case PIPE_RESOURCE_PARAM_STRIDE:
*value = wants_cc ? 1 :
*value = wants_cc ? 64 :
wants_aux ? res->aux.surf.row_pitch_B : res->surf.row_pitch_B;
/* Mesa's implementation of eglCreateImage rejects strides of zero (see
* dri2_check_dma_buf_attribs). Ensure we return a non-zero stride as
* this value may be queried from GBM and passed into EGL.
*
* Also, although modifiers which use a clear color plane specify that
* the plane's pitch should be ignored, some kernels have been found to
* require 64-byte alignment.
*/
assert(*value);
assert(*value != 0 && *value % 64 == 0);
return true;
case PIPE_RESOURCE_PARAM_OFFSET: