diff options
author | Zou Nan hai <nanhai.zou@intel.com> | 2011-03-02 14:23:17 +0800 |
---|---|---|
committer | Zou Nan hai <nanhai.zou@intel.com> | 2011-03-02 14:23:17 +0800 |
commit | f1824905faad6831edee6cf35cb8fa389ef3852a (patch) | |
tree | 125374c576598f6c7546f8ae28ef8510eb1393a5 /src/mesa/drivers/dri/i965 | |
parent | e8d061fd7476ee0266a2f9860771f924e9ffccd5 (diff) |
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@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r-- | 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 fc46c4cb79..57be50a445 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 |