mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 13:33:02 +08:00
Create AubManager with product family in parameter
Change-Id: I3d5a2b04278d3dcec75eb2a787ec98d1ca2304ea
This commit is contained in:
committed by
sys_ocldev
parent
f014f27370
commit
e318156d9d
@@ -16,7 +16,7 @@
|
||||
#include "third_party/aub_stream/headers/modes.h"
|
||||
|
||||
namespace OCLRT {
|
||||
extern aub_stream::AubManager *createAubManager(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode);
|
||||
extern aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode);
|
||||
|
||||
AubCenter::AubCenter(const HardwareInfo *pHwInfo, bool localMemoryEnabled, const std::string &aubFileName) {
|
||||
if (DebugManager.flags.UseAubStream.get()) {
|
||||
@@ -30,7 +30,7 @@ AubCenter::AubCenter(const HardwareInfo *pHwInfo, bool localMemoryEnabled, const
|
||||
aub_stream::tbxServerIp = DebugManager.flags.TbxServer.get();
|
||||
aub_stream::tbxServerPort = DebugManager.flags.TbxPort.get();
|
||||
|
||||
aubManager.reset(createAubManager(pHwInfo->pPlatform->eRenderCoreFamily, devicesCount, memoryBankSize, localMemoryEnabled, aubFileName, mode));
|
||||
aubManager.reset(createAubManager(pHwInfo->pPlatform->eProductFamily, devicesCount, memoryBankSize, localMemoryEnabled, aubFileName, mode));
|
||||
}
|
||||
addressMapper = std::make_unique<AddressMapper>();
|
||||
streamProvider = std::make_unique<AubFileStreamProvider>();
|
||||
|
||||
2
third_party/aub_stream/headers/aub_manager.h
vendored
2
third_party/aub_stream/headers/aub_manager.h
vendored
@@ -19,7 +19,7 @@ class AubManager {
|
||||
virtual HardwareContext *createHardwareContext(uint32_t device, uint32_t engine, uint32_t flags) = 0;
|
||||
virtual void writeMemory(uint64_t gfxAddress, const void *memory, size_t size, uint32_t memoryBanks, int hint, size_t pageSize) = 0;
|
||||
|
||||
static AubManager *create(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode);
|
||||
static AubManager *create(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode);
|
||||
};
|
||||
|
||||
} // namespace aub_stream
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "runtime/helpers/basic_math.h"
|
||||
#include "runtime/helpers/hw_info.h"
|
||||
#include "runtime/helpers/options.h"
|
||||
#include "runtime/os_interface/debug_settings_manager.h"
|
||||
#include "unit_tests/helpers/debug_manager_state_restore.h"
|
||||
#include "unit_tests/mocks/mock_aub_center.h"
|
||||
#include "unit_tests/mocks/mock_aub_manager.h"
|
||||
|
||||
#include "third_party/aub_stream/headers/modes.h"
|
||||
|
||||
@@ -24,6 +26,22 @@ TEST(AubCenter, GivenUseAubStreamDebugVariableNotSetWhenAubCenterIsCreatedThenAu
|
||||
EXPECT_EQ(nullptr, aubCenter.aubManager.get());
|
||||
}
|
||||
|
||||
TEST(AubCenter, GivenUseAubStreamDebugVariableSetWhenAubCenterIsCreatedThenCreateAubManagerWithCorrectParameters) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.UseAubStream.set(false);
|
||||
|
||||
MockAubManager *mockAubManager = new MockAubManager(platformDevices[0]->pPlatform->eProductFamily, 4, 8 * MB, true, "aub_file.aub", aub_stream::mode::aubFile);
|
||||
MockAubCenter mockAubCenter(platformDevices[0], false, "");
|
||||
mockAubCenter.aubManager = std::unique_ptr<MockAubManager>(mockAubManager);
|
||||
|
||||
EXPECT_EQ(platformDevices[0]->pPlatform->eProductFamily, mockAubManager->mockAubManagerParams.productFamily);
|
||||
EXPECT_EQ(4, mockAubManager->mockAubManagerParams.devicesCount);
|
||||
EXPECT_EQ(8 * MB, mockAubManager->mockAubManagerParams.memoryBankSize);
|
||||
EXPECT_EQ(true, mockAubManager->mockAubManagerParams.localMemorySupported);
|
||||
EXPECT_STREQ("aub_file.aub", mockAubManager->mockAubManagerParams.aubFileName.c_str());
|
||||
EXPECT_EQ(aub_stream::mode::aubFile, mockAubManager->mockAubManagerParams.streamMode);
|
||||
}
|
||||
|
||||
TEST(AubCenter, GivenDefaultSetCommandStreamReceiverFlagAndAubFileNameWhenGettingAubStreamModeThenModeAubFileIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.UseAubStream.set(true);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "unit_tests/mocks/mock_aub_manager.h"
|
||||
|
||||
namespace OCLRT {
|
||||
aub_stream::AubManager *createAubManager(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode) {
|
||||
return new MockAubManager();
|
||||
aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode) {
|
||||
return new MockAubManager(productFamily, devicesCount, memoryBankSize, localMemorySupported, aubFileName, streamMode);
|
||||
}
|
||||
} // namespace OCLRT
|
||||
|
||||
@@ -40,6 +40,14 @@ class MockAubManager : public aub_stream::AubManager {
|
||||
|
||||
public:
|
||||
MockAubManager(){};
|
||||
MockAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode) {
|
||||
mockAubManagerParams.productFamily = productFamily;
|
||||
mockAubManagerParams.devicesCount = devicesCount;
|
||||
mockAubManagerParams.memoryBankSize = memoryBankSize;
|
||||
mockAubManagerParams.localMemorySupported = localMemorySupported;
|
||||
mockAubManagerParams.aubFileName.assign(aubFileName);
|
||||
mockAubManagerParams.streamMode = streamMode;
|
||||
}
|
||||
~MockAubManager() override {}
|
||||
|
||||
HardwareContext *createHardwareContext(uint32_t device, uint32_t engine) { return createHardwareContext(device, engine, 0); }
|
||||
@@ -52,6 +60,15 @@ class MockAubManager : public aub_stream::AubManager {
|
||||
bool writeMemoryCalled = false;
|
||||
uint32_t contextFlags = 0;
|
||||
|
||||
struct MockAubManagerParams {
|
||||
uint32_t productFamily = 0;
|
||||
int32_t devicesCount = 0;
|
||||
uint64_t memoryBankSize = 0;
|
||||
bool localMemorySupported = false;
|
||||
std::string aubFileName = "";
|
||||
uint32_t streamMode = 0xFFFFFFFF;
|
||||
} mockAubManagerParams;
|
||||
|
||||
protected:
|
||||
HardwareContext *hardwareContext = nullptr;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user