Check if direct submission available once
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
parent
b6da6471f2
commit
70a7840da3
|
@ -30,6 +30,7 @@
|
||||||
#include "shared/test/common/mocks/mock_gmm.h"
|
#include "shared/test/common/mocks/mock_gmm.h"
|
||||||
#include "shared/test/common/mocks/mock_gmm_page_table_mngr.h"
|
#include "shared/test/common/mocks/mock_gmm_page_table_mngr.h"
|
||||||
#include "shared/test/common/mocks/mock_host_ptr_manager.h"
|
#include "shared/test/common/mocks/mock_host_ptr_manager.h"
|
||||||
|
#include "shared/test/common/mocks/mock_os_context.h"
|
||||||
#include "shared/test/common/mocks/mock_submissions_aggregator.h"
|
#include "shared/test/common/mocks/mock_submissions_aggregator.h"
|
||||||
#include "shared/test/common/test_macros/test.h"
|
#include "shared/test/common/test_macros/test.h"
|
||||||
|
|
||||||
|
@ -725,6 +726,7 @@ struct DrmCommandStreamDirectSubmissionTest : public DrmCommandStreamEnhancedTes
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
auto engineType = device->getDefaultEngine().osContext->getEngineType();
|
auto engineType = device->getDefaultEngine().osContext->getEngineType();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[engineType].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[engineType].engineSupported = true;
|
||||||
|
static_cast<MockOsContext *>(device->getDefaultEngine().osContext)->directSubmissionAvailableChecked = false;
|
||||||
csr->initDirectSubmission(*device.get(), *device->getDefaultEngine().osContext);
|
csr->initDirectSubmission(*device.get(), *device->getDefaultEngine().osContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &su
|
||||||
enableDirectSubmission = DebugManager.flags.EnableDirectSubmission.get();
|
enableDirectSubmission = DebugManager.flags.EnableDirectSubmission.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enableDirectSubmission) {
|
if (enableDirectSubmission && !directSubmissionAvailableChecked) {
|
||||||
auto contextEngineType = this->getEngineType();
|
auto contextEngineType = this->getEngineType();
|
||||||
const DirectSubmissionProperties &directSubmissionProperty =
|
const DirectSubmissionProperties &directSubmissionProperty =
|
||||||
hwInfo.capabilityTable.directSubmissionEngines.data[contextEngineType];
|
hwInfo.capabilityTable.directSubmissionEngines.data[contextEngineType];
|
||||||
|
@ -95,9 +95,10 @@ bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &su
|
||||||
this->setDirectSubmissionActive();
|
this->setDirectSubmissionActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
return engineSupported && startDirect;
|
this->directSubmissionAvailableChecked = true;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
return this->directSubmissionActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OsContext::checkDirectSubmissionSupportsEngine(const DirectSubmissionProperties &directSubmissionProperty, aub_stream::EngineType contextEngineType, bool &startOnInit, bool &startInContext) {
|
bool OsContext::checkDirectSubmissionSupportsEngine(const DirectSubmissionProperties &directSubmissionProperty, aub_stream::EngineType contextEngineType, bool &startOnInit, bool &startInContext) {
|
||||||
|
|
|
@ -67,6 +67,7 @@ class OsContext : public ReferenceTrackedObject<OsContext> {
|
||||||
const bool rootDevice = false;
|
const bool rootDevice = false;
|
||||||
bool defaultContext = false;
|
bool defaultContext = false;
|
||||||
bool directSubmissionActive = false;
|
bool directSubmissionActive = false;
|
||||||
|
bool directSubmissionAvailableChecked = false;
|
||||||
std::once_flag contextInitializedFlag = {};
|
std::once_flag contextInitializedFlag = {};
|
||||||
bool contextInitialized = false;
|
bool contextInitialized = false;
|
||||||
bool engineInstancedDevice = false;
|
bool engineInstancedDevice = false;
|
||||||
|
|
|
@ -12,6 +12,8 @@ namespace NEO {
|
||||||
class MockOsContext : public OsContext {
|
class MockOsContext : public OsContext {
|
||||||
public:
|
public:
|
||||||
using OsContext::checkDirectSubmissionSupportsEngine;
|
using OsContext::checkDirectSubmissionSupportsEngine;
|
||||||
|
using OsContext::directSubmissionActive;
|
||||||
|
using OsContext::directSubmissionAvailableChecked;
|
||||||
using OsContext::engineType;
|
using OsContext::engineType;
|
||||||
using OsContext::engineUsage;
|
using OsContext::engineUsage;
|
||||||
using OsContext::getDeviceBitfield;
|
using OsContext::getDeviceBitfield;
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "shared/test/common/mocks/mock_csr.h"
|
#include "shared/test/common/mocks/mock_csr.h"
|
||||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||||
#include "shared/test/common/mocks/mock_memory_manager.h"
|
#include "shared/test/common/mocks/mock_memory_manager.h"
|
||||||
|
#include "shared/test/common/mocks/mock_os_context.h"
|
||||||
#include "shared/test/common/mocks/ult_device_factory.h"
|
#include "shared/test/common/mocks/ult_device_factory.h"
|
||||||
#include "shared/test/common/test_macros/matchers.h"
|
#include "shared/test/common/test_macros/matchers.h"
|
||||||
#include "shared/test/common/test_macros/test.h"
|
#include "shared/test/common/test_macros/test.h"
|
||||||
|
@ -391,6 +392,7 @@ HWTEST_F(CommandStreamReceiverTest, givenUpdateTaskCountFromWaitWhenCheckTaskCou
|
||||||
struct InitDirectSubmissionFixture {
|
struct InitDirectSubmissionFixture {
|
||||||
void SetUp() {
|
void SetUp() {
|
||||||
DebugManager.flags.EnableDirectSubmission.set(1);
|
DebugManager.flags.EnableDirectSubmission.set(1);
|
||||||
|
DebugManager.flags.EnableGemCloseWorker.set(0);
|
||||||
executionEnvironment = new MockExecutionEnvironment();
|
executionEnvironment = new MockExecutionEnvironment();
|
||||||
DeviceFactory::prepareDeviceEnvironments(*executionEnvironment);
|
DeviceFactory::prepareDeviceEnvironments(*executionEnvironment);
|
||||||
VariableBackup<UltHwConfig> backup(&ultHwConfig);
|
VariableBackup<UltHwConfig> backup(&ultHwConfig);
|
||||||
|
@ -423,6 +425,7 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionControllerEnabledWhenIni
|
||||||
|
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -450,6 +453,7 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionControllerDisabledWhenIn
|
||||||
|
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -469,6 +473,7 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnRcsThenExpectFea
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -481,6 +486,26 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnRcsThenExpectFea
|
||||||
csr.reset();
|
csr.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HWTEST_F(InitDirectSubmissionTest, givenCheckIfDirectSubmissionEnableWhenCallItMultipleTimesThenCheckDirectSubmissionEnablingConditionsOnce) {
|
||||||
|
std::unique_ptr<OsContext> osContext(OsContext::create(device->getExecutionEnvironment()->rootDeviceEnvironments[0]->osInterface.get(), 0,
|
||||||
|
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Regular},
|
||||||
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
|
osContext->ensureContextInitialized();
|
||||||
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
bool submitOnInit = false;
|
||||||
|
|
||||||
|
auto ret = osContext->isDirectSubmissionAvailable(*hwInfo, submitOnInit);
|
||||||
|
EXPECT_TRUE(ret);
|
||||||
|
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionActive = false;
|
||||||
|
ret = osContext->isDirectSubmissionAvailable(*hwInfo, submitOnInit);
|
||||||
|
EXPECT_FALSE(ret);
|
||||||
|
}
|
||||||
|
|
||||||
template <class Type>
|
template <class Type>
|
||||||
class CommandStreamReceiverHwDirectSubmissionMock : public CommandStreamReceiverHw<Type> {
|
class CommandStreamReceiverHwDirectSubmissionMock : public CommandStreamReceiverHw<Type> {
|
||||||
public:
|
public:
|
||||||
|
@ -501,6 +526,7 @@ HWTEST_F(InitDirectSubmissionTest, whenCallInitDirectSubmissionAgainThenItIsNotR
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -527,6 +553,7 @@ HWTEST_F(InitDirectSubmissionTest, whenCallInitDirectSubmissionThenObtainLock) {
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -542,6 +569,8 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionEnabledWhenPlatformNotSu
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionActive = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = false;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
|
||||||
|
@ -560,7 +589,7 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnBcsThenExpectFea
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
|
||||||
|
@ -580,7 +609,7 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionEnabledWhenPlatformNotSu
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
|
||||||
|
@ -600,7 +629,7 @@ HWTEST_F(InitDirectSubmissionTest, givenLowPriorityContextWhenDirectSubmissionDi
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = false;
|
||||||
|
@ -619,7 +648,7 @@ HWTEST_F(InitDirectSubmissionTest, givenLowPriorityContextWhenDirectSubmissionEn
|
||||||
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::LowPriority},
|
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::LowPriority},
|
||||||
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = true;
|
||||||
|
@ -638,7 +667,7 @@ HWTEST_F(InitDirectSubmissionTest, givenInternalContextWhenDirectSubmissionDisab
|
||||||
device->getDeviceBitfield())));
|
device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = false;
|
||||||
|
@ -657,7 +686,7 @@ HWTEST_F(InitDirectSubmissionTest, givenInternalContextWhenDirectSubmissionEnabl
|
||||||
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
|
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
|
||||||
device->getDeviceBitfield())));
|
device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = true;
|
||||||
|
@ -677,7 +706,7 @@ HWTEST_F(InitDirectSubmissionTest, givenRootDeviceContextWhenDirectSubmissionDis
|
||||||
device->getDeviceBitfield(), true)));
|
device->getDeviceBitfield(), true)));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(true);
|
osContext->setDefaultContext(true);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = false;
|
||||||
|
@ -696,7 +725,7 @@ HWTEST_F(InitDirectSubmissionTest, givenRootDeviceContextWhenDirectSubmissionEna
|
||||||
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
|
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
|
||||||
device->getDeviceBitfield(), true)));
|
device->getDeviceBitfield(), true)));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = true;
|
||||||
|
@ -716,7 +745,7 @@ HWTEST_F(InitDirectSubmissionTest, givenNonDefaultContextWhenDirectSubmissionDis
|
||||||
device->getDeviceBitfield())));
|
device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(false);
|
osContext->setDefaultContext(false);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = false;
|
||||||
|
@ -736,7 +765,7 @@ HWTEST_F(InitDirectSubmissionTest, givenNonDefaultContextContextWhenDirectSubmis
|
||||||
device->getDeviceBitfield())));
|
device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(false);
|
osContext->setDefaultContext(false);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = true;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = true;
|
||||||
|
@ -759,7 +788,7 @@ HWTEST_F(InitDirectSubmissionTest, GivenBlitterOverrideEnabledWhenBlitterIsNonDe
|
||||||
device->getDeviceBitfield())));
|
device->getDeviceBitfield())));
|
||||||
osContext->ensureContextInitialized();
|
osContext->ensureContextInitialized();
|
||||||
osContext->setDefaultContext(false);
|
osContext->setDefaultContext(false);
|
||||||
|
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
|
||||||
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
|
||||||
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].useNonDefault = false;
|
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].useNonDefault = false;
|
||||||
|
|
Loading…
Reference in New Issue