P4 to Git Change 1344789 by asalmanp@asalmanp-opencl-stg on 2016/11/22 14:56:48
SWDEV-107075 - [OCL][VG10] progvar_prog_scope_misc subtest of Conf test_basic fails on VG10. Issue: 64GB (instead of 4GB) was used as the maximum single allocation size in PAL which is for workstation boards only. Fix: Added the query to get workstation feature information from PAL to fix this issue. ReviewBoardsURL = http://ocltc.amd.com/reviews/r/11881/ Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#36 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#12 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#6 edit
Этот коммит содержится в:
@@ -177,8 +177,10 @@ NullDevice::create(Pal::AsicRevision asicRevision, Pal::GfxIpLevel ipLevel)
|
||||
Pal::GpuMemoryHeapProperties heaps[Pal::GpuHeapCount];
|
||||
heaps[Pal::GpuHeapLocal].heapSize = 512 * Mi;
|
||||
|
||||
Pal::WorkStationCaps wscaps = {};
|
||||
|
||||
// Create setting for the offline target
|
||||
if ((palSettings == nullptr) || !palSettings->create(properties, heaps)) {
|
||||
if ((palSettings == nullptr) || !palSettings->create(properties, heaps, wscaps)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -763,11 +765,14 @@ Device::create(Pal::IDevice* device)
|
||||
Pal::GpuMemoryHeapProperties heaps[Pal::GpuHeapCount];
|
||||
iDev()->GetGpuMemoryHeapProperties(heaps);
|
||||
|
||||
Pal::WorkStationCaps wscaps = {};
|
||||
iDev()->QueryWorkStationCaps(&wscaps);
|
||||
|
||||
// Creates device settings
|
||||
settings_ = new pal::Settings();
|
||||
pal::Settings* gpuSettings = reinterpret_cast<pal::Settings*>(settings_);
|
||||
if ((gpuSettings == nullptr) || !gpuSettings->create(properties(), heaps,
|
||||
appProfile_.reportAsOCL12Device())) {
|
||||
wscaps, appProfile_.reportAsOCL12Device())) {
|
||||
return false;
|
||||
}
|
||||
numComputeEngines_ = std::min(numComputeEngines_, settings().numComputeRings_);
|
||||
|
||||
@@ -141,6 +141,7 @@ bool
|
||||
Settings::create(
|
||||
const Pal::DeviceProperties& palProp,
|
||||
const Pal::GpuMemoryHeapProperties* heaps,
|
||||
const Pal::WorkStationCaps& wscaps,
|
||||
bool reportAsOCL12Device
|
||||
)
|
||||
{
|
||||
@@ -257,7 +258,7 @@ Settings::create(
|
||||
supportDepthsRGB_ = true;
|
||||
}
|
||||
if (use64BitPtr_) {
|
||||
if (GPU_ENABLE_LARGE_ALLOCATION /*&& calAttr.isWorkstation*/) {
|
||||
if (GPU_ENABLE_LARGE_ALLOCATION && wscaps.workStationBoard) {
|
||||
maxAllocSize_ = 64ULL * Gi;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -105,6 +105,7 @@ public:
|
||||
bool create(
|
||||
const Pal::DeviceProperties& palProp, //!< PAL device properties
|
||||
const Pal::GpuMemoryHeapProperties* heaps, //!< PAL heap settings
|
||||
const Pal::WorkStationCaps& wscaps, //!< PAL workstation settings
|
||||
bool reportAsOCL12Device = false //!< Report As OpenCL1.2 Device
|
||||
);
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user