Mesa (master): r300-gallium: Ooops, forgot to apply this stash.

Corbin Simpson csimpson at kemper.freedesktop.org
Mon Feb 16 11:17:10 UTC 2009


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Mon Feb 16 03:13:16 2009 -0800

r300-gallium: Ooops, forgot to apply this stash.

"git stash": The cause of, and solution to, all my problems.

---

 src/gallium/drivers/r300/r300_state_derived.c |   20 ++++++++++++++++++++
 src/gallium/drivers/r300/r300_state_derived.h |    2 ++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index fc2730d..df19f20 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -107,8 +107,28 @@ static void r300_update_vertex_layout(struct r300_context* r300)
         vinfo.hwfmt[1] |= (4 << (3 * i));
     }
 
+    draw_compute_vertex_size(&vinfo);
+
     if (memcmp(&r300->vertex_info, &vinfo, sizeof(struct vertex_info))) {
         memcpy(&r300->vertex_info, &vinfo, sizeof(struct vertex_info));
         r300->dirty_state |= R300_NEW_VERTEX_FORMAT;
     }
 }
+
+/* Set up the RS block. This is the part of the chipset that actually does
+ * the rasterization of vertices into fragments. This is also the part of the
+ * chipset that locks up if any part of it is even slightly wrong. */
+void r300_update_rs_block(struct r300_context* r300)
+{
+}
+
+void r300_update_derived_state(struct r300_context* r300)
+{
+    if (r300->dirty_state & R300_NEW_FRAGMENT_SHADER) {
+        r300_update_vertex_layout(r300);
+    }
+
+    if (r300->dirty_state & R300_NEW_VERTEX_FORMAT) {
+        r300_update_rs_block(r300);
+    }
+}
diff --git a/src/gallium/drivers/r300/r300_state_derived.h b/src/gallium/drivers/r300/r300_state_derived.h
index 11d0787..72ba6b9 100644
--- a/src/gallium/drivers/r300/r300_state_derived.h
+++ b/src/gallium/drivers/r300/r300_state_derived.h
@@ -28,4 +28,6 @@
 #include "r300_context.h"
 #include "r300_reg.h"
 
+void r300_update_derived_state(struct r300_context* r300);
+
 #endif /* R300_STATE_DERIVED_H */




More information about the mesa-commit mailing list