diff options
author | Wang Zhenyu <zhenyu.z.wang@intel.com> | 2006-11-29 16:40:15 +0800 |
---|---|---|
committer | Keith Packard <keithp@neko.keithp.com> | 2007-01-06 14:37:30 -0800 |
commit | b7c1e1656f45e43ea2f9a47f1a487050c0884c22 (patch) | |
tree | 2b26d5b4dc5300b9eb44c5dc13ee8e7c3d92a98a /src/i965_exa_render.c | |
parent | db9cfaa35adaf79ea57bc06b27c7e37935d3e1a7 (diff) |
[PATCH] WM kernel needs scratch space
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
Diffstat (limited to 'src/i965_exa_render.c')
-rw-r--r-- | src/i965_exa_render.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/i965_exa_render.c b/src/i965_exa_render.c index 51c20061..51b2c600 100644 --- a/src/i965_exa_render.c +++ b/src/i965_exa_render.c @@ -297,6 +297,7 @@ int dest_surf_offset, src_surf_offset, mask_surf_offset; int src_sampler_offset, mask_sampler_offset,vs_offset; int sf_offset, wm_offset, cc_offset, vb_offset, cc_viewport_offset; int sf_kernel_offset, ps_kernel_offset, sip_kernel_offset; +int wm_scratch_offset; int binding_table_offset; int default_color_offset; int next_offset, total_state_size; @@ -426,6 +427,9 @@ ErrorF("i965 prepareComposite\n"); wm_offset = ALIGN(next_offset, 32); next_offset = wm_offset + sizeof(*wm_state); + wm_scratch_offset = ALIGN(next_offset, 1024); + next_offset = wm_scratch_offset + 1024 * PS_MAX_THREADS; + cc_offset = ALIGN(next_offset, 32); next_offset = cc_offset + sizeof(*cc_state); @@ -798,7 +802,8 @@ ErrorF("i965 prepareComposite\n"); else wm_state->thread1.binding_table_entry_count = 3; /* 2 tex and fb */ - wm_state->thread2.scratch_space_base_pointer = 0; + wm_state->thread2.scratch_space_base_pointer = (state_base_offset + + wm_scratch_offset)>>10; wm_state->thread2.per_thread_scratch_space = 0; // XXX: urb allocation wm_state->thread3.const_urb_entry_read_length = 0; |