mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 09:58:55 +08:00
refactor: unify Queue CSR assignment methods
Related-To: NEO-7824 Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
a432bdecc1
commit
b4903a9a0f
@@ -189,7 +189,7 @@ CommandList *CommandList::createImmediate(uint32_t productFamily, Device *device
|
||||
engineGroupType = deviceImp->getInternalEngineGroupType();
|
||||
}
|
||||
} else {
|
||||
returnValue = device->getCsrForOrdinalAndIndexWithPriority(&csr, cmdQdesc.ordinal, cmdQdesc.index, cmdQdesc.priority, queueProperties.interruptHint);
|
||||
returnValue = device->getCsrForOrdinalAndIndex(&csr, cmdQdesc.ordinal, cmdQdesc.index, cmdQdesc.priority, queueProperties.interruptHint);
|
||||
if (returnValue != ZE_RESULT_SUCCESS) {
|
||||
return commandList;
|
||||
}
|
||||
@@ -265,7 +265,7 @@ void CommandListImp::enableCopyOperationOffload(uint32_t productFamily, Device *
|
||||
NEO::CommandStreamReceiver *copyCsr = nullptr;
|
||||
uint32_t ordinal = static_cast<DeviceImp *>(device)->getCopyEngineOrdinal();
|
||||
|
||||
device->getCsrForOrdinalAndIndexWithPriority(©Csr, ordinal, 0, desc->priority, false);
|
||||
device->getCsrForOrdinalAndIndex(©Csr, ordinal, 0, desc->priority, false);
|
||||
UNRECOVERABLE_IF(!copyCsr);
|
||||
|
||||
ze_command_queue_desc_t copyQueueDesc = {ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC};
|
||||
|
||||
@@ -141,9 +141,8 @@ struct Device : _ze_device_handle_t {
|
||||
virtual NEO::GraphicsAllocation *allocateMemoryFromHostPtr(const void *buffer, size_t size, bool hostCopyAllowed) = 0;
|
||||
virtual void setSysmanHandle(SysmanDevice *pSysmanDevice) = 0;
|
||||
virtual SysmanDevice *getSysmanHandle() = 0;
|
||||
virtual ze_result_t getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, bool allocateInterrupt) = 0;
|
||||
virtual ze_result_t getCsrForOrdinalAndIndexWithPriority(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) = 0;
|
||||
virtual ze_result_t getCsrForLowPriority(NEO::CommandStreamReceiver **csr) = 0;
|
||||
virtual ze_result_t getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) = 0;
|
||||
virtual ze_result_t getCsrForLowPriority(NEO::CommandStreamReceiver **csr, aub_stream::EngineType engineType) = 0;
|
||||
virtual NEO::GraphicsAllocation *obtainReusableAllocation(size_t requiredSize, NEO::AllocationType type) = 0;
|
||||
virtual void storeReusableAllocation(NEO::GraphicsAllocation &alloc) = 0;
|
||||
virtual ze_result_t getFabricVertex(ze_fabric_vertex_handle_t *phVertex) = 0;
|
||||
|
||||
@@ -330,19 +330,15 @@ ze_result_t DeviceImp::createCommandQueue(const ze_command_queue_desc_t *desc,
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
bool isCopyOnly = NEO::EngineHelper::isCopyOnlyEngineType(
|
||||
getEngineGroupTypeForOrdinal(commandQueueDesc.ordinal));
|
||||
bool isCopyOnly = NEO::EngineHelper::isCopyOnlyEngineType(getEngineGroupTypeForOrdinal(commandQueueDesc.ordinal));
|
||||
|
||||
auto queueProperties = CommandQueue::extractQueueProperties(*desc);
|
||||
|
||||
if (isSuitableForLowPriority(commandQueueDesc.priority, isCopyOnly)) {
|
||||
getCsrForLowPriority(&csr);
|
||||
} else {
|
||||
auto ret = getCsrForOrdinalAndIndexWithPriority(&csr, commandQueueDesc.ordinal, commandQueueDesc.index, commandQueueDesc.priority, queueProperties.interruptHint);
|
||||
if (ret != ZE_RESULT_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
auto ret = getCsrForOrdinalAndIndex(&csr, commandQueueDesc.ordinal, commandQueueDesc.index, commandQueueDesc.priority, queueProperties.interruptHint);
|
||||
if (ret != ZE_RESULT_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
UNRECOVERABLE_IF(csr == nullptr);
|
||||
|
||||
ze_result_t returnValue = ZE_RESULT_SUCCESS;
|
||||
@@ -1638,7 +1634,7 @@ bool DeviceImp::isQueueGroupOrdinalValid(uint32_t ordinal) {
|
||||
return true;
|
||||
}
|
||||
|
||||
ze_result_t DeviceImp::getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, bool allocateInterrupt) {
|
||||
ze_result_t DeviceImp::getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) {
|
||||
auto &engineGroups = getActiveDevice()->getRegularEngineGroups();
|
||||
uint32_t numEngineGroups = static_cast<uint32_t>(engineGroups.size());
|
||||
|
||||
@@ -1684,6 +1680,15 @@ ze_result_t DeviceImp::getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr
|
||||
const NEO::GfxCoreHelper &gfxCoreHelper = neoDevice->getGfxCoreHelper();
|
||||
bool secondaryContextsEnabled = gfxCoreHelper.areSecondaryContextsSupported();
|
||||
|
||||
auto contextPriority = NEO::EngineUsage::regular;
|
||||
auto engineGroupType = getEngineGroupTypeForOrdinal(ordinal);
|
||||
|
||||
if (secondaryContextsEnabled && priority == ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH) {
|
||||
contextPriority = NEO::EngineUsage::highPriority;
|
||||
} else if (isSuitableForLowPriority(priority, NEO::EngineHelper::isCopyOnlyEngineType(engineGroupType))) {
|
||||
contextPriority = NEO::EngineUsage::lowPriority;
|
||||
}
|
||||
|
||||
if (ordinal < numEngineGroups) {
|
||||
auto &engines = engineGroups[ordinal].engines;
|
||||
if (index >= engines.size()) {
|
||||
@@ -1693,8 +1698,8 @@ ze_result_t DeviceImp::getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr
|
||||
|
||||
auto &osContext = (*csr)->getOsContext();
|
||||
|
||||
if (secondaryContextsEnabled) {
|
||||
tryAssignSecondaryContext(osContext.getEngineType(), NEO::EngineUsage::regular, csr, allocateInterrupt);
|
||||
if (secondaryContextsEnabled && (contextPriority != NEO::EngineUsage::lowPriority)) {
|
||||
tryAssignSecondaryContext(osContext.getEngineType(), contextPriority, csr, allocateInterrupt);
|
||||
}
|
||||
} else {
|
||||
auto subDeviceOrdinal = ordinal - numEngineGroups;
|
||||
@@ -1703,11 +1708,15 @@ ze_result_t DeviceImp::getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr
|
||||
}
|
||||
*csr = this->subDeviceCopyEngineGroups[subDeviceOrdinal].engines[index].commandStreamReceiver;
|
||||
|
||||
if (secondaryContextsEnabled) {
|
||||
tryAssignSecondaryContext((*csr)->getOsContext().getEngineType(), NEO::EngineUsage::regular, csr, allocateInterrupt);
|
||||
if (secondaryContextsEnabled && (contextPriority != NEO::EngineUsage::lowPriority)) {
|
||||
tryAssignSecondaryContext((*csr)->getOsContext().getEngineType(), contextPriority, csr, allocateInterrupt);
|
||||
}
|
||||
}
|
||||
|
||||
if (contextPriority == NEO::EngineUsage::lowPriority) {
|
||||
getCsrForLowPriority(csr, (*csr)->getOsContext().getEngineType());
|
||||
}
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1726,61 +1735,25 @@ bool DeviceImp::tryAssignSecondaryContext(aub_stream::EngineType engineType, NEO
|
||||
return false;
|
||||
}
|
||||
|
||||
ze_result_t DeviceImp::getCsrForOrdinalAndIndexWithPriority(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) {
|
||||
ze_result_t DeviceImp::getCsrForLowPriority(NEO::CommandStreamReceiver **csr, aub_stream::EngineType engineType) {
|
||||
bool isComputeEngine = NEO::EngineHelpers::isComputeEngine(engineType);
|
||||
|
||||
if (!this->isQueueGroupOrdinalValid(ordinal)) {
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
const NEO::GfxCoreHelper &gfxCoreHelper = neoDevice->getGfxCoreHelper();
|
||||
bool secondaryContextsEnabled = gfxCoreHelper.areSecondaryContextsSupported();
|
||||
|
||||
if (secondaryContextsEnabled && priority == ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH) {
|
||||
|
||||
auto &engineGroups = getActiveDevice()->getRegularEngineGroups();
|
||||
uint32_t numEngineGroups = static_cast<uint32_t>(engineGroups.size());
|
||||
|
||||
if (ordinal < numEngineGroups) {
|
||||
auto &engines = engineGroups[ordinal].engines;
|
||||
if (index >= engines.size()) {
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
*csr = engines[index].commandStreamReceiver;
|
||||
auto &osContext = (*csr)->getOsContext();
|
||||
|
||||
if (tryAssignSecondaryContext(osContext.getEngineType(), NEO::EngineUsage::highPriority, csr, allocateInterrupt)) {
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
for (auto &it : getActiveDevice()->getAllEngines()) {
|
||||
bool engineTypeMatch = NEO::EngineHelpers::isComputeEngine(it.osContext->getEngineType()) && isComputeEngine;
|
||||
if (it.osContext->isLowPriority() && engineTypeMatch) {
|
||||
*csr = it.commandStreamReceiver;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
} else if (isSuitableForLowPriority(priority, NEO::EngineHelper::isCopyOnlyEngineType(
|
||||
getEngineGroupTypeForOrdinal(ordinal)))) {
|
||||
return getCsrForLowPriority(csr);
|
||||
}
|
||||
|
||||
return getCsrForOrdinalAndIndex(csr, ordinal, index, allocateInterrupt);
|
||||
}
|
||||
// if the code falls through, we have no low priority context created by neoDevice.
|
||||
|
||||
ze_result_t DeviceImp::getCsrForLowPriority(NEO::CommandStreamReceiver **csr) {
|
||||
NEO::Device *activeDevice = getActiveDevice();
|
||||
if (this->implicitScalingCapable) {
|
||||
*csr = activeDevice->getDefaultEngine().commandStreamReceiver;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
} else {
|
||||
for (auto &it : activeDevice->getAllEngines()) {
|
||||
if (it.osContext->isLowPriority()) {
|
||||
*csr = it.commandStreamReceiver;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
// if the code falls through, we have no low priority context created by neoDevice.
|
||||
}
|
||||
UNRECOVERABLE_IF(true);
|
||||
return ZE_RESULT_ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
bool DeviceImp::isSuitableForLowPriority(ze_command_queue_priority_t priority, bool copyOnly) {
|
||||
return (priority == ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_LOW && !copyOnly);
|
||||
return (priority == ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_LOW && !copyOnly && !this->implicitScalingCapable);
|
||||
}
|
||||
|
||||
DebugSession *DeviceImp::getDebugSession(const zet_debug_config_t &config) {
|
||||
|
||||
@@ -115,9 +115,8 @@ struct DeviceImp : public Device, NEO::NonCopyableOrMovableClass {
|
||||
NEO::GraphicsAllocation *allocateMemoryFromHostPtr(const void *buffer, size_t size, bool hostCopyAllowed) override;
|
||||
void setSysmanHandle(SysmanDevice *pSysman) override;
|
||||
SysmanDevice *getSysmanHandle() override;
|
||||
ze_result_t getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, bool allocateInterrupt) override;
|
||||
ze_result_t getCsrForOrdinalAndIndexWithPriority(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) override;
|
||||
ze_result_t getCsrForLowPriority(NEO::CommandStreamReceiver **csr) override;
|
||||
ze_result_t getCsrForOrdinalAndIndex(NEO::CommandStreamReceiver **csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt) override;
|
||||
ze_result_t getCsrForLowPriority(NEO::CommandStreamReceiver **csr, aub_stream::EngineType engineType) override;
|
||||
bool isSuitableForLowPriority(ze_command_queue_priority_t priority, bool copyOnly);
|
||||
NEO::GraphicsAllocation *obtainReusableAllocation(size_t requiredSize, NEO::AllocationType type) override;
|
||||
void storeReusableAllocation(NEO::GraphicsAllocation &alloc) override;
|
||||
|
||||
@@ -74,9 +74,8 @@ struct MockDevice : public Device {
|
||||
ADDMETHOD_NOBASE(allocateMemoryFromHostPtr, NEO::GraphicsAllocation *, nullptr, (const void *buffer, size_t size, bool hostCopyAllowed));
|
||||
ADDMETHOD_NOBASE_VOIDRETURN(setSysmanHandle, (SysmanDevice *));
|
||||
ADDMETHOD_NOBASE(getSysmanHandle, SysmanDevice *, nullptr, ());
|
||||
ADDMETHOD_NOBASE(getCsrForOrdinalAndIndex, ze_result_t, ZE_RESULT_SUCCESS, (NEO::CommandStreamReceiver * *csr, uint32_t ordinal, uint32_t index, bool allocateInterrupt));
|
||||
ADDMETHOD_NOBASE(getCsrForOrdinalAndIndexWithPriority, ze_result_t, ZE_RESULT_SUCCESS, (NEO::CommandStreamReceiver * *csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt));
|
||||
ADDMETHOD_NOBASE(getCsrForLowPriority, ze_result_t, ZE_RESULT_SUCCESS, (NEO::CommandStreamReceiver * *csr));
|
||||
ADDMETHOD_NOBASE(getCsrForOrdinalAndIndex, ze_result_t, ZE_RESULT_SUCCESS, (NEO::CommandStreamReceiver * *csr, uint32_t ordinal, uint32_t index, ze_command_queue_priority_t priority, bool allocateInterrupt));
|
||||
ADDMETHOD_NOBASE(getCsrForLowPriority, ze_result_t, ZE_RESULT_SUCCESS, (NEO::CommandStreamReceiver * *csr, aub_stream::EngineType engineType));
|
||||
ADDMETHOD_NOBASE(getDebugProperties, ze_result_t, ZE_RESULT_SUCCESS, (zet_device_debug_properties_t * properties));
|
||||
ADDMETHOD_NOBASE(getDebugSession, DebugSession *, nullptr, (const zet_debug_config_t &config));
|
||||
ADDMETHOD_NOBASE_VOIDRETURN(removeDebugSession, ());
|
||||
|
||||
@@ -2621,7 +2621,7 @@ TEST_F(ContextCommandListCreate, givenDeferredEngineCreationWhenImmediateCommand
|
||||
const auto &group = groups[groupIndex];
|
||||
for (uint32_t queueIndex = 0; queueIndex < group.numQueues; queueIndex++) {
|
||||
CommandStreamReceiver *expectedCsr{};
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, device->getCsrForOrdinalAndIndex(&expectedCsr, groupIndex, queueIndex, false));
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, device->getCsrForOrdinalAndIndex(&expectedCsr, groupIndex, queueIndex, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false));
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_SYNCHRONOUS;
|
||||
|
||||
@@ -875,7 +875,7 @@ HWTEST_F(CommandListCreate, givenImmediateCopyOnlySingleTileDirectSubmissionComm
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::createImmediate(productFamily, device, &desc, false, NEO::EngineGroupType::copy, returnValue));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
@@ -896,7 +896,7 @@ HWTEST_F(CommandListCreate, givenMetricsImmediateCopyOnlySingleTileDirectSubmiss
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::createImmediate(productFamily, device, &desc, false, NEO::EngineGroupType::copy, returnValue));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
@@ -916,7 +916,7 @@ HWTEST2_F(CommandListCreate, givenSecondaryCommandStreamForImmediateCmdListWhenC
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::createImmediate(productFamily, device, &desc, false, NEO::EngineGroupType::copy, returnValue));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
@@ -969,7 +969,7 @@ HWTEST_F(CommandListCreate, givenDirectSubmissionFlatRingBufferFlagDisabledImmed
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::createImmediate(productFamily, device, &desc, false, NEO::EngineGroupType::copy, returnValue));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
@@ -997,7 +997,7 @@ HWTEST_F(CommandListCreateImplicitScaling, givenImmediateCopyOnlyDirectSubmissio
|
||||
desc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, desc.ordinal, desc.index, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::createImmediate(productFamily, device, &desc, false, NEO::EngineGroupType::copy, returnValue));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
@@ -1010,7 +1010,7 @@ HWTEST_F(CommandListCreate, givenCopyOnlySingleTileDirectSubmissionCommandListWh
|
||||
debugManager.flags.DirectSubmissionFlatRingBuffer.set(-1);
|
||||
ze_result_t returnValue;
|
||||
CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
reinterpret_cast<UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
std::unique_ptr<L0::CommandList> commandList(CommandList::create(productFamily, device, NEO::EngineGroupType::copy, 0u, returnValue, false));
|
||||
ASSERT_NE(nullptr, commandList);
|
||||
|
||||
@@ -788,7 +788,7 @@ TEST_F(DeviceCreateCommandQueueTest, givenLowPriorityDescWhenCreateCommandQueueI
|
||||
EXPECT_NE(commandQueue, nullptr);
|
||||
EXPECT_TRUE(commandQueue->getCsr()->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForLowPriority(&csr);
|
||||
device->getCsrForLowPriority(&csr, device->getNEODevice()->getDefaultEngine().getEngineType());
|
||||
EXPECT_EQ(commandQueue->getCsr(), csr);
|
||||
commandQueue->destroy();
|
||||
}
|
||||
@@ -873,7 +873,7 @@ struct DeferredContextCreationDeviceCreateCommandQueueTest : DeviceCreateCommand
|
||||
|
||||
TEST_F(DeferredContextCreationDeviceCreateCommandQueueTest, givenLowPriorityEngineNotInitializedWhenCreateLowPriorityCommandQueueIsCalledThenEngineIsInitialized) {
|
||||
NEO::CommandStreamReceiver *lowPriorityCsr = nullptr;
|
||||
device->getCsrForLowPriority(&lowPriorityCsr);
|
||||
device->getCsrForLowPriority(&lowPriorityCsr, device->getNEODevice()->getDefaultEngine().getEngineType());
|
||||
ASSERT_FALSE(lowPriorityCsr->getOsContext().isInitialized());
|
||||
|
||||
ze_command_queue_desc_t desc{};
|
||||
@@ -906,7 +906,7 @@ TEST_F(DeviceCreateCommandQueueTest, givenLowPriorityDescWhenCreateImmediateComm
|
||||
EXPECT_NE(commandList, nullptr);
|
||||
EXPECT_TRUE(commandList->getCsr(false)->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForLowPriority(&csr);
|
||||
device->getCsrForLowPriority(&csr, device->getNEODevice()->getDefaultEngine().getEngineType());
|
||||
EXPECT_EQ(commandList->getCsr(false), csr);
|
||||
commandList->destroy();
|
||||
}
|
||||
@@ -925,7 +925,7 @@ TEST_F(DeviceCreateCommandQueueTest, givenNormalPriorityDescWhenCreateCommandQue
|
||||
EXPECT_NE(commandQueue, nullptr);
|
||||
EXPECT_FALSE(commandQueue->getCsr()->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
EXPECT_EQ(commandQueue->getCsr(), csr);
|
||||
commandQueue->destroy();
|
||||
}
|
||||
@@ -945,7 +945,7 @@ TEST_F(DeviceCreateCommandQueueTest,
|
||||
EXPECT_NE(commandQueue, nullptr);
|
||||
EXPECT_FALSE(commandQueue->getCsr()->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
res = device->getCsrForOrdinalAndIndex(&csr, std::numeric_limits<uint32_t>::max(), 0u, false);
|
||||
res = device->getCsrForOrdinalAndIndex(&csr, std::numeric_limits<uint32_t>::max(), 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
EXPECT_EQ(res, ZE_RESULT_ERROR_INVALID_ARGUMENT);
|
||||
commandQueue->destroy();
|
||||
}
|
||||
@@ -965,7 +965,7 @@ TEST_F(DeviceCreateCommandQueueTest,
|
||||
EXPECT_NE(commandQueue, nullptr);
|
||||
EXPECT_FALSE(commandQueue->getCsr()->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
res = device->getCsrForOrdinalAndIndex(&csr, 0u, std::numeric_limits<uint32_t>::max(), false);
|
||||
res = device->getCsrForOrdinalAndIndex(&csr, 0u, std::numeric_limits<uint32_t>::max(), ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
EXPECT_EQ(res, ZE_RESULT_ERROR_INVALID_ARGUMENT);
|
||||
commandQueue->destroy();
|
||||
}
|
||||
@@ -1012,7 +1012,7 @@ TEST_F(MultiDeviceCreateCommandQueueTest, givenLowPriorityDescWhenCreateCommandQ
|
||||
EXPECT_NE(commandQueue, nullptr);
|
||||
EXPECT_TRUE(commandQueue->getCsr()->getOsContext().isLowPriority());
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForLowPriority(&csr);
|
||||
device->getCsrForLowPriority(&csr, device->getNEODevice()->getDefaultEngine().getEngineType());
|
||||
EXPECT_EQ(commandQueue->getCsr(), csr);
|
||||
commandQueue->destroy();
|
||||
}
|
||||
@@ -1057,7 +1057,7 @@ using ExecuteCommandListTests = Test<DeviceFixture>;
|
||||
HWTEST2_F(ExecuteCommandListTests, givenExecuteCommandListWhenItReturnsThenContainersAreEmpty, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueue<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->initialize(false, false, false);
|
||||
auto commandList = new CommandListCoreFamily<gfxCoreFamily>();
|
||||
@@ -1086,7 +1086,7 @@ HWTEST2_F(ExecuteCommandListTests, givenExecuteCommandListWhenItReturnsThenConta
|
||||
HWTEST2_F(ExecuteCommandListTests, givenRegularCmdListWhenExecutionThenIncSubmissionCounter, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = makeZeUniquePtr<MockCommandQueue<gfxCoreFamily>>(device, csr, &desc);
|
||||
commandQueue->initialize(false, false, false);
|
||||
|
||||
@@ -1135,7 +1135,7 @@ class MockCommandQueueSubmitBatchBuffer : public MockCommandQueue<gfxCoreFamily>
|
||||
HWTEST2_F(ExecuteCommandListTests, givenOutOfMemorySubmitBatchBufferThenExecuteCommandListReturnsOutOfMemoryError, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::outOfMemory;
|
||||
|
||||
@@ -1159,7 +1159,7 @@ HWTEST2_F(CommandQueueDestroy, givenCommandQueueAndCommandListWithSshAndScratchW
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueue<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->initialize(false, false, false);
|
||||
auto commandList = new CommandListCoreFamily<gfxCoreFamily>();
|
||||
@@ -1189,7 +1189,7 @@ HWTEST2_F(CommandQueueDestroy, givenCommandQueueAndCommandListWithSshAndPrivateS
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueue<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->initialize(false, false, false);
|
||||
auto commandList = new CommandListCoreFamily<gfxCoreFamily>();
|
||||
@@ -1222,7 +1222,7 @@ HWTEST2_F(ExecuteCommandListTests, givenBindlessHelperWhenCommandListIsExecutedO
|
||||
neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->bindlessHeapsHelper.reset(bindlessHeapsHelper.release());
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueue<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->initialize(false, false, false);
|
||||
auto commandList = new CommandListCoreFamily<gfxCoreFamily>();
|
||||
@@ -1243,7 +1243,7 @@ HWTEST2_F(ExecuteCommandListTests, givenBindlessHelperWhenCommandListIsExecutedO
|
||||
HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenExecuteCommandListReturnsErrorUnknown, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::failed;
|
||||
|
||||
@@ -1264,7 +1264,7 @@ HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenResetGraphic
|
||||
ze_command_queue_desc_t desc = {};
|
||||
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::failed;
|
||||
@@ -1295,7 +1295,7 @@ HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenResetGraphic
|
||||
ze_command_queue_desc_t desc = {};
|
||||
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::failed;
|
||||
@@ -1325,7 +1325,7 @@ HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenResetGraphic
|
||||
HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenWaitForCompletionFalse, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::failed;
|
||||
|
||||
@@ -1348,7 +1348,7 @@ HWTEST2_F(ExecuteCommandListTests, givenFailingSubmitBatchBufferThenWaitForCompl
|
||||
HWTEST2_F(ExecuteCommandListTests, givenSuccessfulSubmitBatchBufferThenExecuteCommandListReturnsSuccess, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = new MockCommandQueueSubmitBatchBuffer<gfxCoreFamily>(device, csr, &desc);
|
||||
commandQueue->submitBatchBufferResult = NEO::SubmissionStatus::success;
|
||||
|
||||
@@ -1368,7 +1368,7 @@ HWTEST2_F(ExecuteCommandListTests, givenSuccessfulSubmitBatchBufferThenExecuteCo
|
||||
HWTEST2_F(ExecuteCommandListTests, givenCommandQueueHavingTwoB2BCommandListsThenMVSDirtyFlagAndGSBADirtyFlagAreSetOnlyOnce, IsAtLeastSkl) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1409,7 +1409,7 @@ HWTEST2_F(ExecuteCommandListTests, givenCommandQueueHavingTwoB2BCommandListsThen
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1453,7 +1453,7 @@ HWTEST2_F(ExecuteCommandListTests, givenTwoCommandQueuesHavingTwoB2BCommandLists
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1531,7 +1531,7 @@ HWTEST2_F(ExecuteCommandListTests, givenTwoCommandQueuesHavingTwoB2BCommandLists
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1609,7 +1609,7 @@ HWTEST2_F(ExecuteCommandListTests, givenTwoCommandQueuesHavingTwoB2BCommandLists
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1687,7 +1687,7 @@ HWTEST2_F(ExecuteCommandListTests, givenTwoCommandQueuesHavingTwoB2BCommandLists
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1763,7 +1763,7 @@ HWTEST2_F(ExecuteCommandListTests, givenTwoCommandQueuesHavingTwoB2BCommandLists
|
||||
using CFE_STATE = typename FamilyType::CFE_STATE;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
device,
|
||||
@@ -1835,7 +1835,7 @@ HWTEST_F(ExecuteCommandListTests, givenDirectSubmissionEnabledWhenExecutingCmdLi
|
||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
static_cast<NEO::UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
@@ -1880,7 +1880,7 @@ HWTEST_F(ExecuteCommandListTests, givenDirectSubmissionEnabledAndDebugFlagSetWhe
|
||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
static_cast<NEO::UltCommandStreamReceiver<FamilyType> *>(csr)->directSubmissionAvailable = true;
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
|
||||
@@ -949,7 +949,7 @@ HWTEST2_F(CommandQueueScratchTests, whenPatchCommandsIsCalledThenCommandsAreCorr
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = std::make_unique<MockCommandQueueHw<gfxCoreFamily>>(device, csr, &desc);
|
||||
auto commandList = std::make_unique<WhiteBox<::L0::CommandListCoreFamily<gfxCoreFamily>>>();
|
||||
|
||||
@@ -1000,7 +1000,7 @@ using IsWithinNotSupported = IsWithinGfxCore<IGFX_GEN9_CORE, IGFX_GEN12LP_CORE>;
|
||||
HWTEST2_F(CommandQueueScratchTests, givenCommandsToPatchToNotSupportedPlatformWhenPatchCommandsIsCalledThenAbortIsThrown, IsWithinNotSupported) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
auto commandQueue = std::make_unique<MockCommandQueueHw<gfxCoreFamily>>(device, csr, &desc);
|
||||
auto commandList = std::make_unique<WhiteBox<::L0::CommandListCoreFamily<gfxCoreFamily>>>();
|
||||
|
||||
|
||||
@@ -714,7 +714,7 @@ HWTEST2_F(EngineInstancedDeviceExecuteTests, givenEngineInstancedDeviceWhenExecu
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
l0Device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
l0Device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily, l0Device, csr, &desc, false, false, false, returnValue));
|
||||
auto commandList = std::unique_ptr<CommandList>(CommandList::whiteboxCast(CommandList::create(productFamily, l0Device, NEO::EngineGroupType::compute, 0u, returnValue, false)));
|
||||
@@ -765,7 +765,7 @@ HWTEST2_F(EngineInstancedDeviceExecuteTests, givenEngineInstancedDeviceWithFabri
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr;
|
||||
l0Device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
l0Device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ze_result_t returnValue;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily, l0Device, csr, &desc, false, false, false, returnValue));
|
||||
auto commandList = std::unique_ptr<CommandList>(CommandList::whiteboxCast(CommandList::create(productFamily, l0Device, NEO::EngineGroupType::compute, 0u, returnValue, false)));
|
||||
@@ -1060,7 +1060,7 @@ HWTEST2_F(CommandQueueTest, whenExecuteCommandListsIsCalledThenCorrectSizeOfFron
|
||||
debugManager.flags.AllowPatchingVfeStateInCommandLists.set(1);
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_NE(nullptr, csr);
|
||||
|
||||
auto commandQueue = new MockCommandQueueHw<gfxCoreFamily>{device, csr, &desc};
|
||||
@@ -1216,7 +1216,7 @@ HWTEST2_F(CommandQueueTest, whenExecuteCommandListsIsCalledThenCorrectSizeOfFron
|
||||
HWTEST2_F(CommandQueueTest, givenRegularKernelScheduledAsCooperativeWhenExecuteCommandListsIsCalledThenComputeDispatchAllWalkerEnableIsSet, IsAtLeastXeHpCore) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_NE(nullptr, csr);
|
||||
|
||||
auto commandQueue = new MockCommandQueueHw<gfxCoreFamily>{device, csr, &desc};
|
||||
@@ -1251,7 +1251,7 @@ HWTEST2_F(CommandQueueTest, givenRegularKernelScheduledAsCooperativeWhenExecuteC
|
||||
HWTEST2_F(CommandQueueTest, givenTwoCommandQueuesUsingOneCsrWhenExecuteCommandListsIsCalledThenCorrectSizeOfFrontEndCmdsIsCalculated, IsAtLeastXeHpCore) {
|
||||
ze_command_queue_desc_t desc = {};
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
device->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_NE(nullptr, csr);
|
||||
|
||||
auto commandQueue1 = new MockCommandQueueHw<gfxCoreFamily>{device, csr, &desc};
|
||||
|
||||
@@ -4555,7 +4555,7 @@ HWTEST_F(DeviceTest, givenContextGroupSupportedWhenGettingLowPriorityCsrThenCorr
|
||||
MockDeviceImp deviceImp(neoMockDevice, neoMockDevice->getExecutionEnvironment());
|
||||
|
||||
NEO::CommandStreamReceiver *lowPriorityCsr = nullptr;
|
||||
auto result = deviceImp.getCsrForLowPriority(&lowPriorityCsr);
|
||||
auto result = deviceImp.getCsrForLowPriority(&lowPriorityCsr, device->getNEODevice()->getDefaultEngine().getEngineType());
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
ASSERT_NE(nullptr, lowPriorityCsr);
|
||||
|
||||
@@ -4640,7 +4640,7 @@ HWTEST_F(DeviceTest, givenContextGroupSupportedWhenGettingHighPriorityCsrThenCor
|
||||
ASSERT_TRUE(engineGroups[ordinal].engineGroupType == NEO::EngineGroupType::compute);
|
||||
|
||||
uint32_t index = 1;
|
||||
auto result = deviceImp.getCsrForOrdinalAndIndexWithPriority(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
auto result = deviceImp.getCsrForOrdinalAndIndex(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
ASSERT_NE(nullptr, highPriorityCsr);
|
||||
|
||||
@@ -4657,7 +4657,7 @@ HWTEST_F(DeviceTest, givenContextGroupSupportedWhenGettingHighPriorityCsrThenCor
|
||||
EXPECT_TRUE(highPriorityCsr->getOsContext().isPartOfContextGroup());
|
||||
EXPECT_NE(nullptr, highPriorityCsr->getOsContext().getPrimaryContext());
|
||||
|
||||
result = deviceImp.getCsrForOrdinalAndIndexWithPriority(&highPriorityCsr2, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
result = deviceImp.getCsrForOrdinalAndIndex(&highPriorityCsr2, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
ASSERT_NE(nullptr, highPriorityCsr2);
|
||||
EXPECT_NE(highPriorityCsr, highPriorityCsr2);
|
||||
@@ -4666,12 +4666,12 @@ HWTEST_F(DeviceTest, givenContextGroupSupportedWhenGettingHighPriorityCsrThenCor
|
||||
EXPECT_TRUE(highPriorityCsr2->getOsContext().isPartOfContextGroup());
|
||||
|
||||
index = 100;
|
||||
result = deviceImp.getCsrForOrdinalAndIndexWithPriority(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
result = deviceImp.getCsrForOrdinalAndIndex(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, result);
|
||||
|
||||
index = 0;
|
||||
ordinal = 100;
|
||||
result = deviceImp.getCsrForOrdinalAndIndexWithPriority(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
result = deviceImp.getCsrForOrdinalAndIndex(&highPriorityCsr, ordinal, index, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_HIGH, false);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, result);
|
||||
}
|
||||
}
|
||||
@@ -5075,7 +5075,10 @@ TEST_F(MultiSubDeviceEnabledImplicitScalingTest, GivenEnabledImplicitScalingWhen
|
||||
auto &defaultEngine = deviceImp->getActiveDevice()->getDefaultEngine();
|
||||
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
auto ret = deviceImp->getCsrForLowPriority(&csr);
|
||||
EXPECT_ANY_THROW(deviceImp->getCsrForLowPriority(&csr, defaultEngine.getEngineType()));
|
||||
|
||||
auto ret = deviceImp->getCsrForOrdinalAndIndex(&csr, 0, 0, ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_LOW, false);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, ret);
|
||||
EXPECT_EQ(defaultEngine.commandStreamReceiver, csr);
|
||||
}
|
||||
|
||||
@@ -3948,7 +3948,7 @@ HWTEST2_F(MultipleDevicePeerAllocationTest,
|
||||
auto svmManager = driverHandle->getSvmAllocsManager();
|
||||
NEO::CommandStreamReceiver *csr0 = nullptr;
|
||||
L0::DeviceImp *deviceImp0 = static_cast<L0::DeviceImp *>(device0);
|
||||
auto ret = deviceImp0->getCsrForOrdinalAndIndex(&csr0, 0u, 0u, false);
|
||||
auto ret = deviceImp0->getCsrForOrdinalAndIndex(&csr0, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_EQ(ret, ZE_RESULT_SUCCESS);
|
||||
|
||||
size_t size = 1024;
|
||||
@@ -3990,7 +3990,7 @@ HWTEST2_F(MultipleDevicePeerAllocationTest,
|
||||
auto svmManager = driverHandle->getSvmAllocsManager();
|
||||
NEO::CommandStreamReceiver *csr0 = nullptr;
|
||||
L0::DeviceImp *deviceImp0 = static_cast<L0::DeviceImp *>(device0);
|
||||
auto ret = deviceImp0->getCsrForOrdinalAndIndex(&csr0, 0u, 0u, false);
|
||||
auto ret = deviceImp0->getCsrForOrdinalAndIndex(&csr0, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_EQ(ret, ZE_RESULT_SUCCESS);
|
||||
|
||||
size_t size = 1024;
|
||||
@@ -4040,7 +4040,7 @@ HWTEST2_F(MultipleDevicePeerAllocationTest,
|
||||
auto svmManager = driverHandle->getSvmAllocsManager();
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
L0::DeviceImp *deviceImp1 = static_cast<L0::DeviceImp *>(device1);
|
||||
auto ret = deviceImp1->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
auto ret = deviceImp1->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_EQ(ret, ZE_RESULT_SUCCESS);
|
||||
|
||||
size_t size = 1024;
|
||||
@@ -4081,7 +4081,7 @@ HWTEST2_F(MultipleDevicePeerAllocationTest,
|
||||
auto svmManager = driverHandle->getSvmAllocsManager();
|
||||
NEO::CommandStreamReceiver *csr = nullptr;
|
||||
L0::DeviceImp *deviceImp1 = static_cast<L0::DeviceImp *>(device1);
|
||||
auto ret = deviceImp1->getCsrForOrdinalAndIndex(&csr, 0u, 0u, false);
|
||||
auto ret = deviceImp1->getCsrForOrdinalAndIndex(&csr, 0u, 0u, ZE_COMMAND_QUEUE_PRIORITY_NORMAL, false);
|
||||
ASSERT_EQ(ret, ZE_RESULT_SUCCESS);
|
||||
|
||||
size_t size = 1024;
|
||||
|
||||
Reference in New Issue
Block a user