From a319c0e35cbd8a0f1ede2fe4261a4b7472c21878 Mon Sep 17 00:00:00 2001 From: foreman Date: Tue, 12 Jan 2016 14:11:46 -0500 Subject: [PATCH] P4 to Git Change 1226881 by wchau@wchau_WIN_OCL_HSA on 2016/01/12 14:03:39 SWDEV-79308 - Reduce the total scratch buffer size by a factor of 4, which in effect reducing the max. scratch waves from 32 to 8, to avoid the required total scratch buffer size exceeds the available local memory. Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#152 edit --- rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp b/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp index 19de5ed4f9..9d89882a6d 100644 --- a/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp +++ b/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp @@ -1231,6 +1231,13 @@ CALGSLDevice::calcScratchBufferSize(uint32 regNum) const m_cs->CalcAllScratchBufferSizes(enabledShadersFlag, scratchSpacePerShaderStage, scratchBufferSizes); + + // SWDEV-79308: + // Reduce the total scratch buffer size by a factor of 4, which in effect reducing the + // max. scratch waves from 32 to 8. This will avoid the required total scratch buffer + // size exceeds the available local memory. + scratchBufferSizes[target] >>= 2; + return scratchBufferSizes[target]; }