mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
Fixed AUB Center class object initialization
Related-To: NEO-3916 Change-Id: Ia17abe09c638ee76b8fda98166938c1bab6629a7 Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
79907be691
commit
75d0fb308a
@@ -8,6 +8,7 @@
|
||||
#include "core/os_interface/aub_memory_operations_handler.h"
|
||||
#include "runtime/aub/aub_center.h"
|
||||
#include "runtime/device/device.h"
|
||||
#include "runtime/helpers/hw_helper.h"
|
||||
#include "runtime/helpers/options.h"
|
||||
#include "runtime/os_interface/debug_settings_manager.h"
|
||||
#include "runtime/os_interface/hw_info_config.h"
|
||||
@@ -40,7 +41,9 @@ bool DeviceFactory::getDevicesForProductFamilyOverride(size_t &numDevices, Execu
|
||||
DeviceFactory::numDevices = numDevices;
|
||||
auto csr = DebugManager.flags.SetCommandStreamReceiver.get();
|
||||
if (csr > 0) {
|
||||
executionEnvironment.initAubCenter(DebugManager.flags.EnableLocalMemory.get(), "", static_cast<CommandStreamReceiverType>(csr));
|
||||
auto &hwHelper = HwHelper::get(hardwareInfo->platform.eRenderCoreFamily);
|
||||
auto localMemoryEnabled = hwHelper.getEnableLocalMemory(*hardwareInfo);
|
||||
executionEnvironment.initAubCenter(localMemoryEnabled, "", static_cast<CommandStreamReceiverType>(csr));
|
||||
auto aubCenter = executionEnvironment.rootDeviceEnvironments[0].aubCenter.get();
|
||||
executionEnvironment.memoryOperationsInterface = std::make_unique<AubMemoryOperationsHandler>(aubCenter->getAubManager());
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "runtime/os_interface/os_interface.h"
|
||||
#include "runtime/os_interface/os_library.h"
|
||||
#include "runtime/platform/platform.h"
|
||||
#include "unit_tests/mocks/mock_execution_environment.h"
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
@@ -164,6 +165,22 @@ TEST_F(DeviceFactoryTest, givenCreateMultipleRootDevicesDebugFlagWhenGetDevicesF
|
||||
EXPECT_EQ(requiredDeviceCount, numDevices);
|
||||
}
|
||||
|
||||
TEST_F(DeviceFactoryTest, givenSetCommandStreamReceiverInAubModeForTgllpProductFamilyWhenGetDevicesForProductFamilyOverrideIsCalledThenAubCenterIsInitializedCorrectly) {
|
||||
DeviceFactoryCleaner cleaner;
|
||||
DebugManagerStateRestore stateRestore;
|
||||
DebugManager.flags.SetCommandStreamReceiver.set(1);
|
||||
DebugManager.flags.ProductFamilyOverride.set("tgllp");
|
||||
|
||||
MockExecutionEnvironment executionEnvironment(*platformDevices);
|
||||
|
||||
size_t numDevices = 0;
|
||||
bool success = DeviceFactory::getDevicesForProductFamilyOverride(numDevices, executionEnvironment);
|
||||
ASSERT_TRUE(success);
|
||||
|
||||
EXPECT_TRUE(executionEnvironment.initAubCenterCalled);
|
||||
EXPECT_FALSE(executionEnvironment.localMemoryEnabledReceived);
|
||||
}
|
||||
|
||||
TEST_F(DeviceFactoryTest, givenGetDevicesCallWhenItIsDoneThenOsInterfaceIsAllocated) {
|
||||
DeviceFactoryCleaner cleaner;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user