Mesa (master): i965: Maxinum the usage of urb space on SNB.
Nan hai Zou
znh at kemper.freedesktop.org
Wed Mar 2 06:27:20 UTC 2011
Module: Mesa
Branch: master
Commit: f1824905faad6831edee6cf35cb8fa389ef3852a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1824905faad6831edee6cf35cb8fa389ef3852a
Author: Zou Nan hai <nanhai.zou at intel.com>
Date: Wed Mar 2 14:23:17 2011 +0800
i965: Maxinum the usage of urb space on SNB.
SNB has 64k urb space, we only use piece of them.
The more urb space we alloc,
the more concurrent vs threads we can run.
push the urb space usage to the limit.
Signed-off-by: Zou Nan hai <nanhai.zou at intel.com>
---
src/mesa/drivers/dri/i965/gen6_urb.c | 16 ++++++----------
1 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen6_urb.c b/src/mesa/drivers/dri/i965/gen6_urb.c
index fc46c4c..57be50a 100644
--- a/src/mesa/drivers/dri/i965/gen6_urb.c
+++ b/src/mesa/drivers/dri/i965/gen6_urb.c
@@ -34,19 +34,15 @@
static void
prepare_urb( struct brw_context *brw )
{
- brw->urb.nr_vs_entries = 24;
- if (brw->gs.prog_bo)
- brw->urb.nr_gs_entries = 4;
- else
- brw->urb.nr_gs_entries = 0;
+ brw->urb.nr_vs_entries = 256;
+ brw->urb.nr_gs_entries = 256;
+
/* CACHE_NEW_VS_PROG */
brw->urb.vs_size = MAX2(brw->vs.prog_data->urb_entry_size, 1);
- /* Check that the number of URB rows (8 floats each) allocated is less
- * than the URB space.
- */
- assert((brw->urb.nr_vs_entries +
- brw->urb.nr_gs_entries) * brw->urb.vs_size * 8 < 64 * 1024);
+ if (256 * brw->urb.vs_size > 64 * 1024)
+ brw->urb.nr_vs_entries = brw->urb.nr_gs_entries =
+ (64 * 1024 ) / brw->urb.vs_size;
}
static void
More information about the mesa-commit
mailing list