P4 to Git Change 1231549 by wchau@wchau_WIN_OCL_HSA on 2016/01/27 11:23:48

SWDEV-79308 - Use 64-bit to calculate the scratch buffer size for OCL.  We observed that the computed scratch buffer size could be > 4G when compilier optimization option is not used.
	Cross branch change - requires CL1231547.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#157 edit
This commit is contained in:
foreman
2016-01-27 11:36:07 -05:00
parent e33c3ccfea
commit 80ab916a5b
@@ -1220,7 +1220,7 @@ CALGSLDevice::calcScratchBufferSize(uint32 regNum) const
// Determine the scratch size we need to allocate
cmScratchSpaceNeededPerShaderStage scratchSpacePerShaderStage;
memset(&scratchSpacePerShaderStage, 0, sizeof(scratchSpacePerShaderStage));
uint32 scratchBufferSizes[gslProgramTarget_COUNT];
uint64 scratchBufferSizes[gslProgramTarget_COUNT];
memset(scratchBufferSizes, 0, sizeof(scratchBufferSizes));
uint32 enabledShadersFlag = 0;
@@ -1244,6 +1244,8 @@ CALGSLDevice::calcScratchBufferSize(uint32 regNum) const
if (scratchBufferSizes[target] == 0) { // assign minimum scratch buffer size of 64K
scratchBufferSizes[target] = 0x10000;
}
assert(scratchBufferSizes[target] <= 0xFFFFFFFF); // scratch buffer size < 4GB
}
return scratchBufferSizes[target];