diff options
author | Ilia Mirkin <[email protected]> | 2016-05-18 21:27:33 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-05-19 20:20:23 -0400 |
commit | 8bf549389914e94e4d075c3e2a161d53d3ed9675 (patch) | |
tree | 933bc37c18d80400ccc5c660d459cd8d6c74e676 /src/gallium/drivers/nouveau | |
parent | 5c6b8cc7d056e8d78afb6fdbb25a03a665e96fda (diff) |
nvc0: account for shader-allocated local memory needs
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_compute.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c index bbc8edb35e0..2324f369488 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c @@ -331,7 +331,7 @@ nvc0_launch_grid(struct pipe_context *pipe, const struct pipe_grid_info *info) PUSH_DATA (push, nvc0_program_symbol_offset(cp, info->pc)); BEGIN_NVC0(push, NVC0_CP(LOCAL_POS_ALLOC), 3); - PUSH_DATA (push, align(cp->cp.lmem_size, 0x10)); + PUSH_DATA (push, (cp->hdr[1] & 0xfffff0) + align(cp->cp.lmem_size, 0x10)); PUSH_DATA (push, 0); PUSH_DATA (push, 0x800); /* WARP_CSTACK_SIZE */ diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c index 1fe60267ac1..7334c5f4498 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c @@ -553,7 +553,7 @@ nve4_compute_setup_launch_desc(struct nvc0_context *nvc0, desc->blockdim_z = info->block[2]; desc->shared_size = align(cp->cp.smem_size, 0x100); - desc->local_size_p = align(cp->cp.lmem_size, 0x10); + desc->local_size_p = (cp->hdr[1] & 0xfffff0) + align(cp->cp.lmem_size, 0x10); desc->local_size_n = 0; desc->cstack_size = 0x800; desc->cache_split = nve4_compute_derive_cache_split(nvc0, cp->cp.smem_size); |