Revert "gallium/dri: fix dri2_from_planar for multiplanar images"

It breaks some assumptions in the iris driver, leading to crashes.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7391>
This commit is contained in:
Lucas Stach 2020-10-31 08:21:15 +01:00 committed by Marge Bot
parent fe3e571870
commit 788f6dc857

View file

@ -1395,28 +1395,18 @@ static __DRIimage *
dri2_from_planar(__DRIimage *image, int plane, void *loaderPrivate)
{
__DRIimage *img;
struct pipe_resource *tex = image->texture;
int i;
if (plane < 0) {
return NULL;
} else if (plane > 0) {
uint64_t planes;
if (dri2_resource_get_param(image, PIPE_RESOURCE_PARAM_NPLANES, 0,
&planes) &&
if (!dri2_resource_get_param(image, PIPE_RESOURCE_PARAM_NPLANES, 0,
&planes) ||
plane >= planes) {
return NULL;
}
}
if (tex->next) {
for (i = 0; i < plane; i++) {
tex = tex->next;
if (!tex)
return NULL;
}
}
if (image->dri_components == 0) {
uint64_t modifier;
if (!dri2_resource_get_param(image, PIPE_RESOURCE_PARAM_MODIFIER, 0,
@ -1430,8 +1420,6 @@ dri2_from_planar(__DRIimage *image, int plane, void *loaderPrivate)
if (img == NULL)
return NULL;
pipe_resource_reference(&img->texture, tex);
if (img->texture->screen->resource_changed)
img->texture->screen->resource_changed(img->texture->screen,
img->texture);