summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2010-05-18 12:55:51 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2010-06-02 13:54:27 +0800
commitb2aade854a573b7c4591b48c2befd4efdb78826c (patch)
tree42b18b0e907f8048fe4420cd066771e8e1b98eb6
parenta3adec0195c8a8ef24d2d05425184cf0f77718de (diff)
i965_drv_vidoe: update max_thread for rendering
-rw-r--r--i965_drv_video/i965_render.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/i965_drv_video/i965_render.c b/i965_drv_video/i965_render.c
index 08fa582..dc53529 100644
--- a/i965_drv_video/i965_render.c
+++ b/i965_drv_video/i965_render.c
@@ -329,12 +329,14 @@ i965_subpic_render_wm_unit(VADriverContextP ctx)
wm_state->wm4.stats_enable = 0;
wm_state->wm4.sampler_state_pointer = render_state->wm.sampler->offset >> 5;
- if (IS_IRONLAKE(i965->intel.device_id))
+ if (IS_IRONLAKE(i965->intel.device_id)) {
wm_state->wm4.sampler_count = 0; /* hardware requirement */
- else
+ wm_state->wm5.max_threads = 12 * 6 - 1;
+ } else {
wm_state->wm4.sampler_count = (render_state->wm.sampler_count + 3) / 4;
+ wm_state->wm5.max_threads = 10 * 5 - 1;
+ }
- wm_state->wm5.max_threads = PS_MAX_THREADS - 1;
wm_state->wm5.thread_dispatch_enable = 1;
wm_state->wm5.enable_16_pix = 1;
wm_state->wm5.enable_8_pix = 0;
@@ -392,12 +394,14 @@ i965_render_wm_unit(VADriverContextP ctx)
wm_state->wm4.stats_enable = 0;
wm_state->wm4.sampler_state_pointer = render_state->wm.sampler->offset >> 5;
- if (IS_IRONLAKE(i965->intel.device_id))
+ if (IS_IRONLAKE(i965->intel.device_id)) {
wm_state->wm4.sampler_count = 0; /* hardware requirement */
- else
+ wm_state->wm5.max_threads = 12 * 6 - 1;
+ } else {
wm_state->wm4.sampler_count = (render_state->wm.sampler_count + 3) / 4;
+ wm_state->wm5.max_threads = 10 * 5 - 1;
+ }
- wm_state->wm5.max_threads = PS_MAX_THREADS - 1;
wm_state->wm5.thread_dispatch_enable = 1;
wm_state->wm5.enable_16_pix = 1;
wm_state->wm5.enable_8_pix = 0;