[Mesa-dev] [PATCH] R600/SI: Add compute support for CI
Michel Dänzer
michel at daenzer.net
Wed Oct 23 09:31:53 CEST 2013
On Die, 2013-10-22 at 22:07 -0400, Tom Stellard wrote:
>
> diff --git a/lib/Target/R600/AMDGPU.td b/lib/Target/R600/AMDGPU.td
> index a722f55..f63617f 100644
> --- a/lib/Target/R600/AMDGPU.td
> +++ b/lib/Target/R600/AMDGPU.td
[...]
> @@ -262,13 +263,24 @@ void AMDGPUAsmPrinter::EmitProgramInfoSI(MachineFunction &MF) {
> OutStreamer.EmitIntValue(RsrcReg, 4);
> OutStreamer.EmitIntValue(S_00B028_VGPRS(MaxVGPR / 4) | S_00B028_SGPRS(MaxSGPR / 8), 4);
>
> + unsigned LDSAlignShift;
> + if (STM.getGeneration() < AMDGPUSubtarget::SEA_ISLANDS) {
> + // LDS is allocated in 64 dword blocks
> + LDSAlignShift = 7;
> + } else {
> + // LDS is allocated in 128 dword blocks
> + LDSAlignShift = 8;
> + }
> + unsigned LDSBlocks =
> + RoundUpToAlignment(MFI->LDSSize, 1 << LDSAlignShift) >> LDSAlignShift;
I think LDSAlignShift should be 8 for 64 dwords (== 256 bytes) and 9 for
128 dwords (== 512 bytes), shouldn't it?
> ; Check that the LDS size emitted correctly
> ; EG-CHECK: .long 166120
> -; EG-CHECK-NEXT: .long 16
> +; EG-CHECK-NEXT: .long 128
> ; SI-CHECK: .long 47180
> -; SI-CHECK-NEXT: .long 32768
> +; SI-CHECK-NEXT: .long 131072
Maybe then the EG and SI numbers wouldn't change here.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list