mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-20 13:11:34 +08:00
Revert "Set cooperative flag for debuggable contexts during creation"
This reverts commit 5e0732f57e
.
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
6fe91498d8
commit
5ec8c004ce
@ -632,62 +632,6 @@ TEST(DrmTest, givenProgramDebuggingAndContextDebugAvailableWhenCreatingContextFo
|
||||
EXPECT_EQ(static_cast<uint32_t>(-1), drmMock.passedContextDebugId);
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenProgramDebuggingAndContextDebugSupportedWhenCreatingContextThenCooperativeFlagIsPassedToCreateDrmContext) {
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->setDebuggingEnabled();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(defaultHwInfo.get());
|
||||
executionEnvironment->calculateMaxOsContextCount();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
|
||||
DrmMockNonFailing drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
drmMock.contextDebugSupported = true;
|
||||
drmMock.callBaseCreateDrmContext = false;
|
||||
|
||||
OsContextLinux osContext(drmMock, 5u, EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Regular}));
|
||||
osContext.ensureContextInitialized();
|
||||
|
||||
EXPECT_NE(static_cast<uint32_t>(-1), drmMock.passedContextDebugId);
|
||||
EXPECT_TRUE(drmMock.capturedCooperativeContextRequest);
|
||||
|
||||
OsContextLinux osContext2(drmMock, 5u, EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Cooperative}));
|
||||
osContext2.ensureContextInitialized();
|
||||
|
||||
EXPECT_NE(static_cast<uint32_t>(-1), drmMock.passedContextDebugId);
|
||||
EXPECT_TRUE(drmMock.capturedCooperativeContextRequest);
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenNotEnabledDebuggingOrContextDebugUnsupportedWhenCreatingContextThenCooperativeFlagIsNotPassedToCreateDrmContext) {
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(defaultHwInfo.get());
|
||||
executionEnvironment->calculateMaxOsContextCount();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
|
||||
DrmMockNonFailing drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
drmMock.contextDebugSupported = true;
|
||||
drmMock.callBaseCreateDrmContext = false;
|
||||
drmMock.capturedCooperativeContextRequest = true;
|
||||
|
||||
EXPECT_FALSE(executionEnvironment->isDebuggingEnabled());
|
||||
|
||||
OsContextLinux osContext(drmMock, 5u, EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Regular}));
|
||||
osContext.ensureContextInitialized();
|
||||
|
||||
EXPECT_FALSE(drmMock.capturedCooperativeContextRequest);
|
||||
|
||||
executionEnvironment->setDebuggingEnabled();
|
||||
drmMock.contextDebugSupported = false;
|
||||
drmMock.callBaseCreateDrmContext = false;
|
||||
drmMock.capturedCooperativeContextRequest = true;
|
||||
|
||||
OsContextLinux osContext2(drmMock, 5u, EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Regular}));
|
||||
osContext2.ensureContextInitialized();
|
||||
|
||||
EXPECT_FALSE(drmMock.capturedCooperativeContextRequest);
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenPrintIoctlDebugFlagSetWhenGettingTimestampFrequencyThenCaptureExpectedOutput) {
|
||||
DebugManagerStateRestore restore;
|
||||
DebugManager.flags.PrintIoctlEntries.set(true);
|
||||
|
@ -119,7 +119,7 @@ class Drm : public DriverModel {
|
||||
int queryAdapterBDF();
|
||||
int createDrmVirtualMemory(uint32_t &drmVmId);
|
||||
void destroyDrmVirtualMemory(uint32_t drmVmId);
|
||||
MOCKABLE_VIRTUAL uint32_t createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequested, bool isCooperativeContextRequested);
|
||||
uint32_t createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequested, bool isCooperativeContextRequested);
|
||||
void appendDrmContextFlags(drm_i915_gem_context_create_ext &gcc, bool isDirectSubmissionRequested);
|
||||
void destroyDrmContext(uint32_t drmContextId);
|
||||
int queryVmId(uint32_t drmContextId, uint32_t &vmId);
|
||||
|
@ -45,22 +45,19 @@ void OsContextLinux::initializeContext() {
|
||||
this->drmVmIds.resize(deviceBitfield.size(), 0);
|
||||
}
|
||||
|
||||
const bool debuggableContext = drm.isContextDebugSupported() && drm.getRootDeviceEnvironment().executionEnvironment.isDebuggingEnabled() && !isInternalEngine();
|
||||
|
||||
for (auto deviceIndex = 0u; deviceIndex < deviceBitfield.size(); deviceIndex++) {
|
||||
if (deviceBitfield.test(deviceIndex)) {
|
||||
auto drmVmId = drm.getVirtualMemoryAddressSpace(deviceIndex);
|
||||
auto drmContextId = drm.createDrmContext(drmVmId, drm.isVmBindAvailable(), isCooperativeEngine() || debuggableContext);
|
||||
auto drmContextId = drm.createDrmContext(drmVmId, drm.isVmBindAvailable(), isCooperativeEngine());
|
||||
if (drm.areNonPersistentContextsSupported()) {
|
||||
drm.setNonPersistentContext(drmContextId);
|
||||
}
|
||||
|
||||
if (drm.getRootDeviceEnvironment().executionEnvironment.isDebuggingEnabled()) {
|
||||
drm.setUnrecoverableContext(drmContextId);
|
||||
}
|
||||
|
||||
if (debuggableContext) {
|
||||
drm.setContextDebugFlag(drmContextId);
|
||||
if (!isInternalEngine()) {
|
||||
drm.setContextDebugFlag(drmContextId);
|
||||
}
|
||||
}
|
||||
|
||||
if (drm.isPreemptionSupported() && isLowPriority()) {
|
||||
|
@ -122,15 +122,6 @@ class DrmMock : public Drm {
|
||||
queryPageFaultSupportCalled = true;
|
||||
}
|
||||
|
||||
uint32_t createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequested, bool isCooperativeContextRequested) override {
|
||||
capturedCooperativeContextRequest = isCooperativeContextRequested;
|
||||
if (callBaseCreateDrmContext) {
|
||||
return Drm::createDrmContext(drmVmId, isDirectSubmissionRequested, isCooperativeContextRequested);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const int mockFd = 33;
|
||||
|
||||
bool failRetTopology = false;
|
||||
@ -165,10 +156,6 @@ class DrmMock : public Drm {
|
||||
bool disableSomeTopology = false;
|
||||
bool allowDebugAttach = false;
|
||||
bool allowDebugAttachCallBase = false;
|
||||
bool callBaseCreateDrmContext = true;
|
||||
|
||||
bool capturedCooperativeContextRequest = false;
|
||||
|
||||
uint32_t passedContextDebugId = std::numeric_limits<uint32_t>::max();
|
||||
std::vector<drm_i915_reset_stats> resetStatsToReturn{};
|
||||
|
||||
|
Reference in New Issue
Block a user