aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/docs/source/screen.rst4
-rw-r--r--src/gallium/drivers/r600/r600_texture.c1
-rw-r--r--src/gallium/drivers/radeonsi/si_texture.c1
-rw-r--r--src/gallium/state_trackers/dri/dri2.c2
4 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 3a9ccb4246b..a40461fed70 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -943,7 +943,11 @@ replaced by ``nr_storage_samples``.
**flags** bitmask of PIPE_RESOURCE_FLAG flags.
+**next**: Pointer to the next plane for resources that consist of multiple
+memory planes.
+As a corollary, this mean resources for an image with multiple planes have
+to be created starting from the highest plane.
resource_changed
^^^^^^^^^^^^^^^^
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 5c8b9dd4af9..42cc09e8b76 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -918,7 +918,6 @@ r600_texture_create_object(struct pipe_screen *screen,
resource = &rtex->resource;
resource->b.b = *base;
- resource->b.b.next = NULL;
resource->b.vtbl = &r600_texture_vtbl;
pipe_reference_init(&resource->b.b.reference, 1);
resource->b.b.screen = screen;
diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c
index f67794c610e..db470457551 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -1210,7 +1210,6 @@ static struct si_texture *si_texture_create_object(struct pipe_screen *screen,
resource = &tex->buffer;
resource->b.b = *base;
- resource->b.b.next = NULL;
resource->b.vtbl = &si_texture_vtbl;
pipe_reference_init(&resource->b.b.reference, 1);
resource->b.b.screen = screen;
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 630817b6cbe..ec78d0985ed 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -776,6 +776,7 @@ dri2_create_image_from_winsys(__DRIscreen *_screen,
for (i = (use_lowered ? map->nplanes : num_handles) - 1; i >= 0; i--) {
struct pipe_resource *tex;
+ templ.next = img->texture;
templ.width0 = width >> map->planes[i].width_shift;
templ.height0 = height >> map->planes[i].height_shift;
if (use_lowered)
@@ -793,7 +794,6 @@ dri2_create_image_from_winsys(__DRIscreen *_screen,
return NULL;
}
- tex->next = img->texture;
img->texture = tex;
}