Mesa (master): svga: fix synchronization bug between sampler views and surfaces
Brian Paul
brianp at kemper.freedesktop.org
Mon Jun 18 16:24:16 UTC 2012
Module: Mesa
Branch: master
Commit: 8ae93c68ea3538e9e2c2462710a87192e026238d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ae93c68ea3538e9e2c2462710a87192e026238d
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jun 18 10:22:06 2012 -0600
svga: fix synchronization bug between sampler views and surfaces
This fixes a bug where a sampler view was using stale texture/resource
data when the texture was modified through a surface (render to texture).
Bumping the texture and layer ages triggers sampler view revalidation.
Fixes piglit fbo-blit failure.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
---
src/gallium/drivers/svga/svga_surface.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c
index 44c1892..6c4f06d 100644
--- a/src/gallium/drivers/svga/svga_surface.c
+++ b/src/gallium/drivers/svga/svga_surface.c
@@ -320,6 +320,11 @@ svga_mark_surface_dirty(struct pipe_surface *surf)
else {
/* this will happen later in svga_propagate_surface */
}
+
+ /* Increment the view_age and texture age for this surface's slice
+ * so that any sampler views into the texture are re-validated too.
+ */
+ tex->view_age[surf->u.tex.first_layer] = ++(tex->age);
}
}
More information about the mesa-commit
mailing list