1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib/Target/AMDGPU/Utils
Tom Stellard c0b7282ebc AMDGPU: allow specifying a workgroup size that needs to fit in a compute unit
Summary:
For GL_ARB_compute_shader we need to support workgroup sizes of at least 1024. However, if we want to allow large workgroup sizes, we may need to use less registers, as we have to run more waves per SIMD.

This patch adds an attribute to specify the maximum work group size the compiled program needs to support. It defaults, to 256, as that has no wave restrictions.

Reducing the number of registers available is done similarly to how the registers were reserved for chips with the sgpr init bug.

Reviewers: mareko, arsenm, tstellarAMD, nhaehnle

Subscribers: FireBurn, kerberizer, llvm-commits, arsenm

Differential Revision: http://reviews.llvm.org/D18340

Patch By: Bas Nieuwenhuizen

llvm-svn: 266337
2016-04-14 16:27:07 +00:00
..
AMDGPUBaseInfo.cpp AMDGPU: allow specifying a workgroup size that needs to fit in a compute unit 2016-04-14 16:27:07 +00:00
AMDGPUBaseInfo.h AMDGPU: allow specifying a workgroup size that needs to fit in a compute unit 2016-04-14 16:27:07 +00:00
AMDKernelCodeTInfo.h [AMDGPU] table-driven parser/printer for amd_kernel_code_t structure fields 2016-03-06 13:27:13 +00:00
AMDKernelCodeTUtils.cpp Make helper functions static. NFC. 2016-04-07 10:10:09 +00:00
AMDKernelCodeTUtils.h [AMDGPU] table-driven parser/printer for amd_kernel_code_t structure fields 2016-03-06 13:27:13 +00:00
CMakeLists.txt [AMDGPU] table-driven parser/printer for amd_kernel_code_t structure fields 2016-03-06 13:27:13 +00:00
LLVMBuild.txt AMDGPU/SI: Add getShaderType() function to Utils/ 2015-12-15 16:26:16 +00:00