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