summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/dri
diff options
context:
space:
mode:
authorPhilipp Zabel <[email protected]>2017-01-19 15:05:37 +0100
committerLucas Stach <[email protected]>2017-01-20 15:30:29 +0100
commit2c95d6dac399ca58c5bf93f03cd4d19dc84c55af (patch)
tree7560ea031b6dc63c9b71b304f112707fdd38fc4c /src/gallium/state_trackers/dri
parent30853f55a3b4c409802ac470ae0530311c36e0c7 (diff)
st/dri: ask the driver to update its internal copies on reimport
For imported buffers that can't be used directly as a source to the texture samplers, the pipe driver might need to create an internal copy, for example in a different tiling layout. When buffers are reimported they may contain new image data, so the driver internal copies need to be recreated. Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Lucas Stach <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/dri')
-rw-r--r--src/gallium/state_trackers/dri/dri2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 77523e98ffe..c4f2c57d1cf 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1168,6 +1168,10 @@ dri2_from_planar(__DRIimage *image, int plane, void *loaderPrivate)
if (img == NULL)
return NULL;
+ if (img->texture->screen->resource_changed)
+ img->texture->screen->resource_changed(img->texture->screen,
+ img->texture);
+
/* set this to 0 for sub images. */
img->dri_components = 0;
return img;