i965: Add support for 2 threads in the GS.
authorEric Anholt <eric@anholt.net>
Thu, 3 Sep 2009 16:19:43 +0000 (09:19 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 4 Sep 2009 21:20:09 +0000 (14:20 -0700)
This brings noop vertex shader throughput from 6.8M verts/sec to 10.4M
verts/sec using GL_QUADs on my GM45.

src/mesa/drivers/dri/i965/brw_gs_state.c

index a761c03153cd0a777d68327059122b963be5c08b..ed9d2ffe605e49ee89f9ee007cd058b0afd9bb9b 100644 (file)
@@ -93,7 +93,10 @@ gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key)
    gs.thread4.nr_urb_entries = key->nr_urb_entries;
    gs.thread4.urb_entry_allocation_size = key->urb_size - 1;
 
-   gs.thread4.max_threads = 0; /* Hardware requirement */
+   if (key->nr_urb_entries >= 8)
+      gs.thread4.max_threads = 1;
+   else
+      gs.thread4.max_threads = 0;
 
    if (BRW_IS_IGDNG(brw))
       gs.thread4.rendering_enable = 1;