summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2010-01-12 22:22:22 -0800
committerCorbin Simpson <MostAwesomeDude@gmail.com>2010-01-12 22:22:22 -0800
commite4e5acc833d607bdf5cdd728f8a8c5064ea38838 (patch)
tree6208f9962cd819959d37508555d714791870687b /src/gallium
parentc1db20280c5c36721801c893dd0615551d68394a (diff)
r300g: Lower the immd mode threshold.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/r300/r300_render.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index d28931f037..2edb9c6030 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -138,9 +138,14 @@ static void r300_emit_draw_immediate(struct r300_context *r300,
OUT_CS_PKT3(R300_PACKET3_3D_DRAW_IMMD_2, count * vertex_size);
OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_VERTEX_EMBEDDED | (count << 16) |
r300_translate_primitive(mode));
+ //debug_printf("r300: Immd %d verts, %d attrs\n", count, vertex_size);
for (i = 0; i < count * vertex_size; i++) {
- OUT_CS(*map);
- map++;
+ if (i % vertex_size == 0) {
+ //debug_printf("r300: -- vert --\n");
+ }
+ //debug_printf("r300: 0x%08x\n", *map);
+ OUT_CS(*map);
+ map++;
}
END_CS;
@@ -320,7 +325,7 @@ void r300_draw_arrays(struct pipe_context* pipe, unsigned mode,
r300_emit_dirty_state(r300);
- if (count < 10 && r300->vertex_buffer_count == 1) {
+ if (count <= 4 && r300->vertex_buffer_count == 1) {
r300_emit_draw_immediate(r300, mode, start, count);
} else {
r300_emit_aos(r300, start);