mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
Disable DirectSubmission in aub/tbx mode
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b096422e78
commit
927bbe9ee9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2021 Intel Corporation
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -96,6 +96,10 @@ void ExecutionEnvironment::calculateMaxOsContextCount() {
|
||||
DirectSubmissionController *ExecutionEnvironment::initializeDirectSubmissionController() {
|
||||
auto initializeDirectSubmissionController = DirectSubmissionController::isSupported();
|
||||
|
||||
if (DebugManager.flags.SetCommandStreamReceiver.get() > 0) {
|
||||
initializeDirectSubmissionController = false;
|
||||
}
|
||||
|
||||
if (DebugManager.flags.EnableDirectSubmissionController.get() != -1) {
|
||||
initializeDirectSubmissionController = DebugManager.flags.EnableDirectSubmissionController.get();
|
||||
}
|
||||
|
||||
@@ -62,6 +62,10 @@ void OsContext::ensureContextInitialized() {
|
||||
bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &submitOnInit) {
|
||||
bool enableDirectSubmission = this->isDirectSubmissionSupported(hwInfo);
|
||||
|
||||
if (DebugManager.flags.SetCommandStreamReceiver.get() > 0) {
|
||||
enableDirectSubmission = false;
|
||||
}
|
||||
|
||||
if (DebugManager.flags.EnableDirectSubmission.get() != -1) {
|
||||
enableDirectSubmission = DebugManager.flags.EnableDirectSubmission.get();
|
||||
}
|
||||
|
||||
@@ -619,6 +619,29 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionControllerDisabledWhenIn
|
||||
EXPECT_EQ(controller, nullptr);
|
||||
}
|
||||
|
||||
HWTEST_F(InitDirectSubmissionTest, givenSetCsrFlagSetWhenInitDirectSubmissionThenControllerIsNotCreatedAndCsrIsNotRegistered) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.SetCommandStreamReceiver.set(1);
|
||||
|
||||
auto csr = std::make_unique<CommandStreamReceiverHw<FamilyType>>(*device->executionEnvironment, device->getRootDeviceIndex(), device->getDeviceBitfield());
|
||||
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);
|
||||
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 ret = csr->initDirectSubmission(*device, *osContext.get());
|
||||
EXPECT_TRUE(ret);
|
||||
EXPECT_TRUE(csr->isDirectSubmissionEnabled());
|
||||
|
||||
auto controller = static_cast<DirectSubmissionControllerMock *>(device->executionEnvironment->initializeDirectSubmissionController());
|
||||
EXPECT_EQ(controller, nullptr);
|
||||
}
|
||||
|
||||
HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnRcsThenExpectFeatureAvailable) {
|
||||
auto csr = std::make_unique<CommandStreamReceiverHw<FamilyType>>(*device->executionEnvironment, device->getRootDeviceIndex(), device->getDeviceBitfield());
|
||||
std::unique_ptr<OsContext> osContext(OsContext::create(device->getExecutionEnvironment()->rootDeviceEnvironments[0]->osInterface.get(), 0,
|
||||
|
||||
Reference in New Issue
Block a user