Mesa (master): r300g: Clear up a bit of the buffer reference stuff.

Corbin Simpson csimpson at kemper.freedesktop.org
Wed Oct 28 19:21:35 UTC 2009


Module: Mesa
Branch: master
Commit: 6007e2e0085d9131b22dc8a98d7500a66a0e4c97
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6007e2e0085d9131b22dc8a98d7500a66a0e4c97

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Wed Oct 28 11:47:24 2009 -0700

r300g: Clear up a bit of the buffer reference stuff.

Still need to actually get reference info from winsys somehow. Doing added
buffers is easy, but knowing whether a flush has happened is a bit tricky.

---

 src/gallium/drivers/r300/r300_context.c |   25 +++++++++++--------------
 1 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index c34fbb1..e45564b 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -76,26 +76,23 @@ static void r300_destroy_context(struct pipe_context* context)
 }
 
 static unsigned int
-r300_is_texture_referenced( struct pipe_context *pipe,
-			    struct pipe_texture *texture,
-			    unsigned face, unsigned level)
+r300_is_texture_referenced(struct pipe_context *pipe,
+                           struct pipe_texture *texture,
+                           unsigned face, unsigned level)
 {
-   /**
-    * FIXME: Optimize.
-    */
+    struct pipe_buffer* buf;
 
-   return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+    r300_get_texture_buffer(texture, &buf, NULL);
+
+    return pipe->is_buffer_referenced(pipe, buf);
 }
 
 static unsigned int
-r300_is_buffer_referenced( struct pipe_context *pipe,
-			   struct pipe_buffer *buf)
+r300_is_buffer_referenced(struct pipe_context *pipe,
+                          struct pipe_buffer *buf)
 {
-   /**
-    * FIXME: Optimize.
-    */
-
-   return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+    /* XXX */
+    return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
 }
 
 static void r300_flush_cb(void *data)




More information about the mesa-commit mailing list