From: Kenneth Graunke Date: Sat, 13 Aug 2011 01:27:16 +0000 (-0700) Subject: i965: Add chipset limits for Haswell GT1/GT2. X-Git-Tag: accepted/2.0alpha-wayland/20130301.050525~77 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=871da78263673cf123e28b3c0aa88b48745ac93d;p=profile%2Fivi%2Fmesa.git i965: Add chipset limits for Haswell GT1/GT2. The maximum number of URB entries come from the 3DSTATE_URB_VS and 3DSTATE_URB_GS state packet documentation; the thread count information comes from the 3DSTATE_VS and 3DSTATE_PS state packet documentation. Signed-off-by: Kenneth Graunke Signed-off-by: Eugeni Dodonov (cherry picked from commit 9add4e803877f97ad7f6d479d81d537426f09b6f) --- diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 1688bb1..a6a5e4f 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -290,7 +290,23 @@ brwCreateContext(int api, } /* WM maximum threads is number of EUs times number of threads per EU. */ - if (intel->gen >= 7) { + assert(intel->gen <= 7); + + if (intel->is_haswell) { + if (intel->gt == 1) { + brw->max_wm_threads = 102; + brw->max_vs_threads = 70; + brw->urb.size = 128; + brw->urb.max_vs_entries = 640; + brw->urb.max_gs_entries = 256; + } else if (intel->gt == 2) { + brw->max_wm_threads = 204; + brw->max_vs_threads = 280; + brw->urb.size = 256; + brw->urb.max_vs_entries = 1664; + brw->urb.max_gs_entries = 640; + } + } else if (intel->gen == 7) { if (intel->gt == 1) { brw->max_wm_threads = 48; brw->max_vs_threads = 36;