diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index b5a80c62fa4..ed974a8b021 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -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: