diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_clip_state.c | 5 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_urb.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_state.c | 6 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_clip_state.c b/src/mesa/drivers/dri/i965/brw_clip_state.c index cb982850f23..1e6d6fa1762 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_state.c +++ b/src/mesa/drivers/dri/i965/brw_clip_state.c @@ -55,10 +55,7 @@ static void upload_clip_unit( struct brw_context *brw ) /* BRW_NEW_URB_FENCE */ clip.thread4.nr_urb_entries = brw->urb.nr_clip_entries; clip.thread4.urb_entry_allocation_size = brw->urb.vsize - 1; - clip.thread4.max_threads = MIN2(brw->urb.nr_clip_entries, 16) - 1; - - if (INTEL_DEBUG & DEBUG_SINGLE_THREAD) - clip.thread4.max_threads = 0; + clip.thread4.max_threads = 0; /* Hmm, maybe the max is 1 or 2 threads */ if (INTEL_DEBUG & DEBUG_STATS) clip.thread4.stats_enable = 1; diff --git a/src/mesa/drivers/dri/i965/brw_urb.c b/src/mesa/drivers/dri/i965/brw_urb.c index 40af0bfa93d..b4293046474 100644 --- a/src/mesa/drivers/dri/i965/brw_urb.c +++ b/src/mesa/drivers/dri/i965/brw_urb.c @@ -53,7 +53,7 @@ static const struct { GLuint min_entry_size; GLuint max_entry_size; } limits[CS+1] = { - { 8, 16, 1, 5 }, /* vs */ + { 8, 24, 1, 5 }, /* vs */ { 4, 8, 1, 5 }, /* gs */ { 6, 12, 1, 5 }, /* clp */ { 1, 8, 1, 12 }, /* sf */ diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c index 70de0e82566..c225bf8f5c5 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_state.c +++ b/src/mesa/drivers/dri/i965/brw_vs_state.c @@ -53,7 +53,11 @@ static void upload_vs_unit( struct brw_context *brw ) /* BRW_NEW_URB_FENCE */ vs.thread4.nr_urb_entries = brw->urb.nr_vs_entries; vs.thread4.urb_entry_allocation_size = brw->urb.vsize - 1; - vs.thread4.max_threads = MIN2(brw->urb.nr_vs_entries, 16) - 1; + vs.thread4.max_threads = MIN2( + MAX2(0, (brw->urb.nr_vs_entries - 6) / 2 - 1), + 15); + + if (INTEL_DEBUG & DEBUG_SINGLE_THREAD) vs.thread4.max_threads = 0; |