Commit 8e03cf15 authored by Bas Nieuwenhuizen's avatar Bas Nieuwenhuizen Committed by Marge Bot

radeonsi: Count planes for imported textures.

For the DRI2 lowered YUV import separate pipe_resources get created
but in the end the first resource just gets asked for NPLANES.

Since

1) (Almost) everything uses the first resource + a plane index in the
  Gallium interface.
2) This mirrors non-imported textures.

lets fix this in the driver.
Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
Part-of: <mesa/mesa!4779>
parent 6747a984
......@@ -1659,6 +1659,15 @@ static struct pipe_resource *si_texture_from_winsys_buffer(struct si_screen *ssc
tex->buffer.external_usage = usage;
tex->num_planes = 1;
/* Account for multiple planes with lowered yuv import. */
struct pipe_resource *next_plane = tex->buffer.b.b.next;
while(next_plane) {
struct si_texture *next_tex = (struct si_texture *)next_plane;
++next_tex->num_planes;
++tex->num_planes;
next_plane = next_plane->next;
}
if (!si_read_tex_bo_metadata(sscreen, tex, offset, &metadata)) {
si_texture_reference(&tex, NULL);
return NULL;
......
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