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>
This commit is contained in:
Nanley Chery 2022-04-28 08:01:19 -07:00 committed by Marge Bot
parent a127731119
commit 2bc8c61fd0
1 changed files with 6 additions and 2 deletions

View File

@ -1625,14 +1625,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: