From a1ae9d0dadd17fcaf57137d00ae2c436f84c2969 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Tue, 18 May 2010 12:55:51 +0800 Subject: [PATCH] i965_drv_vidoe: update max_thread for rendering --- i965_render.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/i965_render.c b/i965_render.c index 08fa582..dc53529 100644 --- a/i965_render.c +++ b/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; -- 2.7.4