Mesa (lp-binning): llvmpipe: also check render target textures in lp_setup_is_texture_referenced()

Brian Paul brianp at kemper.freedesktop.org
Wed Jan 13 22:30:46 UTC 2010


Module: Mesa
Branch: lp-binning
Commit: 12872774461a84f0a7c272aff5aac5e30a78a7c2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12872774461a84f0a7c272aff5aac5e30a78a7c2

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Jan 13 15:30:42 2010 -0700

llvmpipe: also check render target textures in lp_setup_is_texture_referenced()

---

 src/gallium/drivers/llvmpipe/lp_setup.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c
index 11b1b5f..ce006bf 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup.c
@@ -487,6 +487,15 @@ lp_setup_is_texture_referenced( const struct setup_context *setup,
          return PIPE_REFERENCED_FOR_READ;
       }
    }
+
+   /* check the render targets */
+   for (i = 0; i < setup->fb.nr_cbufs; i++) {
+      if (setup->fb.cbufs[i]->texture == texture)
+         return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+   }
+   if (setup->fb.zsbuf && setup->fb.zsbuf->texture == texture)
+      return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+
    return PIPE_UNREFERENCED;
 }
 




More information about the mesa-commit mailing list