Ensure that OpenCL device id returned from getDeviceSelection() is valid.
Change-Id: I756bb57d471db3d3ca1d9c3733d359c7c16b4e66 Reviewed-on: https://gerrit.libreoffice.org/24959 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Page <aptitude@btconnect.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
This commit is contained in:
parent
8b99402338
commit
40b0b9ab77
@ -636,10 +636,15 @@ ds_device getDeviceSelection(
|
||||
}
|
||||
|
||||
/* Final device selection */
|
||||
selectedDevice = aProfile->devices[bestDeviceIdx];
|
||||
bIsDeviceSelected = true;
|
||||
if (bestDeviceIdx >=0 && static_cast< std::vector<ds_device>::size_type> ( bestDeviceIdx ) < aProfile->devices.size() )
|
||||
{
|
||||
selectedDevice = aProfile->devices[bestDeviceIdx];
|
||||
bIsDeviceSelected = true;
|
||||
|
||||
writeDevicesLog(aProfile, sProfilePath, bestDeviceIdx);
|
||||
writeDevicesLog(aProfile, sProfilePath, bestDeviceIdx);
|
||||
} else {
|
||||
selectedDevice.eType = DeviceType::NativeCPU;
|
||||
}
|
||||
}
|
||||
return selectedDevice;
|
||||
}
|
||||
|
@ -703,6 +703,8 @@ bool switchOpenCLDevice(const OUString* pDevice, bool bAutoSelect, bool bForceEv
|
||||
OUString path;
|
||||
osl::FileBase::getSystemPathFromFileURL(url,path);
|
||||
ds_device aSelectedDevice = getDeviceSelection(path, bForceEvaluation);
|
||||
if ( aSelectedDevice.eType != DeviceType::OpenCLDevice)
|
||||
return false;
|
||||
pDeviceId = aSelectedDevice.aDeviceID;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user