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 */
|
/* Final device selection */
|
||||||
|
if (bestDeviceIdx >=0 && static_cast< std::vector<ds_device>::size_type> ( bestDeviceIdx ) < aProfile->devices.size() )
|
||||||
|
{
|
||||||
selectedDevice = aProfile->devices[bestDeviceIdx];
|
selectedDevice = aProfile->devices[bestDeviceIdx];
|
||||||
bIsDeviceSelected = true;
|
bIsDeviceSelected = true;
|
||||||
|
|
||||||
writeDevicesLog(aProfile, sProfilePath, bestDeviceIdx);
|
writeDevicesLog(aProfile, sProfilePath, bestDeviceIdx);
|
||||||
|
} else {
|
||||||
|
selectedDevice.eType = DeviceType::NativeCPU;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return selectedDevice;
|
return selectedDevice;
|
||||||
}
|
}
|
||||||
|
@ -703,6 +703,8 @@ bool switchOpenCLDevice(const OUString* pDevice, bool bAutoSelect, bool bForceEv
|
|||||||
OUString path;
|
OUString path;
|
||||||
osl::FileBase::getSystemPathFromFileURL(url,path);
|
osl::FileBase::getSystemPathFromFileURL(url,path);
|
||||||
ds_device aSelectedDevice = getDeviceSelection(path, bForceEvaluation);
|
ds_device aSelectedDevice = getDeviceSelection(path, bForceEvaluation);
|
||||||
|
if ( aSelectedDevice.eType != DeviceType::OpenCLDevice)
|
||||||
|
return false;
|
||||||
pDeviceId = aSelectedDevice.aDeviceID;
|
pDeviceId = aSelectedDevice.aDeviceID;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user