i965: Set compute shader shared memory max to 64k
authorJordan Justen <jordan.l.justen@intel.com>
Sat, 13 Feb 2016 22:25:33 +0000 (14:25 -0800)
committerJordan Justen <jordan.l.justen@intel.com>
Tue, 16 Feb 2016 17:25:20 +0000 (09:25 -0800)
See Ivy Bridge PRM, Volume 2, Part 2, 1.8.4 INTERFACE_DESCRIPTOR_DATA:

DWORD 5, bits 20:16: "This field indicates how much shared local
memory the thread group requires. The amount is specified in 4k
blocks, but only powers of 2 are allowed: 0, 4k, 8k, 16k, 32k and 64k
per half-slice."

For Haswell, see Volume 2d, INTERFACE_DESCRIPTOR_DATA:

DWORD 5, bits 20:16: With text identical to the Ivy Bridge PRM.

For Broadwell, see Volume 2d, INTERFACE_DESCRIPTOR_DATA:

DWORD 6, bits 20:16: With text identical to the Ivy Bridge PRM.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com>
src/mesa/drivers/dri/i965/brw_context.c

index 8144a0ea276b37ca96a777a4bd0517bfc1682dc0..31b6b2a3641c2308e49a0c4cae2a93bc3ee619b5 100644 (file)
@@ -724,7 +724,7 @@ brw_initialize_cs_context_constants(struct brw_context *brw, unsigned max_thread
    ctx->Const.MaxComputeWorkGroupSize[1] = max_invocations;
    ctx->Const.MaxComputeWorkGroupSize[2] = max_invocations;
    ctx->Const.MaxComputeWorkGroupInvocations = max_invocations;
-   ctx->Const.MaxComputeSharedMemorySize = 32768;
+   ctx->Const.MaxComputeSharedMemorySize = 64 * 1024;
 }
 
 /**