Add a getRootDeviceIndex method

Change-Id: I7f46a42b5ce25a53365b9faaeba62f2c3232f104
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
Jobczyk, Lukasz
2019-10-21 13:41:35 +02:00
committed by sys_ocldev
parent 9ed6194420
commit 77d7d9f740
6 changed files with 25 additions and 0 deletions

View File

@@ -91,6 +91,7 @@ class Device : public BaseObject<_cl_device_id> {
ExecutionEnvironment *getExecutionEnvironment() const { return executionEnvironment; }
const HardwareCapabilities &getHardwareCapabilities() const { return hardwareCapabilities; }
uint32_t getDeviceIndex() const { return deviceIndex; }
virtual uint32_t getRootDeviceIndex() const = 0;
bool isFullRangeSvm() const {
return executionEnvironment->isFullRangeSvm();
}

View File

@@ -18,6 +18,10 @@ uint32_t RootDevice::getNumSubDevices() const {
return static_cast<uint32_t>(subdevices.size());
}
uint32_t RootDevice::getRootDeviceIndex() const {
return this->deviceIndex;
}
uint32_t RootDevice::getNumAvailableDevices() const {
if (subdevices.empty()) {
return 1u;

View File

@@ -19,6 +19,7 @@ class RootDevice : public Device {
bool createDeviceImpl() override;
uint32_t getNumAvailableDevices() const override;
uint32_t getNumSubDevices() const;
uint32_t getRootDeviceIndex() const override;
Device *getDeviceById(uint32_t deviceId) const override;
/* We hide the retain and release function of BaseObject. */

View File

@@ -35,6 +35,9 @@ DeviceBitfield SubDevice::getDeviceBitfieldForOsContext() const {
uint32_t SubDevice::getNumAvailableDevices() const {
return 1u;
}
uint32_t SubDevice::getRootDeviceIndex() const {
return this->rootDevice.getRootDeviceIndex();
}
Device *SubDevice::getDeviceById(uint32_t deviceId) const {
UNRECOVERABLE_IF(deviceId >= getNumAvailableDevices());
return const_cast<SubDevice *>(this);

View File

@@ -18,6 +18,7 @@ class SubDevice : public Device {
void retainInternal();
void releaseInternal();
uint32_t getNumAvailableDevices() const override;
uint32_t getRootDeviceIndex() const override;
Device *getDeviceById(uint32_t deviceId) const override;
protected: