Patch bindless offset

Related-To: NEO-4724

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2020-11-18 11:17:45 +00:00
committed by Compute-Runtime-Automation
parent 223de6dd8c
commit c80353587f
10 changed files with 292 additions and 7 deletions

View File

@@ -10,6 +10,7 @@
#include "shared/source/device/device_info.h"
#include "shared/source/execution_environment/execution_environment.h"
#include "shared/source/execution_environment/root_device_environment.h"
#include "shared/source/helpers/bindless_heaps_helper.h"
#include "shared/source/helpers/common_types.h"
#include "shared/source/helpers/engine_control.h"
#include "shared/source/helpers/engine_node_helper.h"
@@ -93,6 +94,7 @@ class Device : public ReferenceTrackedObject<Device> {
virtual Device *getDeviceById(uint32_t deviceId) const = 0;
virtual Device *getParentDevice() const = 0;
virtual DeviceBitfield getDeviceBitfield() const = 0;
virtual BindlessHeapsHelper *getBindlessHeapsHelper() const = 0;
static decltype(&PerformanceCounters::create) createPerformanceCountersFunc;

View File

@@ -11,7 +11,6 @@
namespace NEO {
class SubDevice;
class BindlessHeapsHelper;
class RootDevice : public Device {
public:
@@ -23,7 +22,7 @@ class RootDevice : public Device {
Device *getDeviceById(uint32_t deviceId) const override;
Device *getParentDevice() const override;
uint32_t getNumSubDevices() const;
BindlessHeapsHelper *getBindlessHeapsHelper() const;
BindlessHeapsHelper *getBindlessHeapsHelper() const override;
protected:
DeviceBitfield getDeviceBitfield() const override;

View File

@@ -46,6 +46,9 @@ Device *SubDevice::getDeviceById(uint32_t deviceId) const {
Device *SubDevice::getParentDevice() const {
return &rootDevice;
}
BindlessHeapsHelper *SubDevice::getBindlessHeapsHelper() const {
return rootDevice.getBindlessHeapsHelper();
}
uint64_t SubDevice::getGlobalMemorySize(uint32_t deviceBitfield) const {
auto globalMemorySize = Device::getGlobalMemorySize(static_cast<uint32_t>(maxNBitValue(rootDevice.getNumSubDevices())));

View File

@@ -20,6 +20,7 @@ class SubDevice : public Device {
uint32_t getRootDeviceIndex() const override;
Device *getDeviceById(uint32_t deviceId) const override;
Device *getParentDevice() const override;
BindlessHeapsHelper *getBindlessHeapsHelper() const override;
uint32_t getSubDeviceIndex() const;