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:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user