@@ -56,17 +56,26 @@ HWTEST2_F(CopyOffloadInOrderTests, givenDebugFlagSetWhenCreatingCmdListThenEnabl
56
56
cmdQueueDesc.flags = ZE_COMMAND_QUEUE_FLAG_IN_ORDER;
57
57
cmdQueueDesc.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
58
58
59
+ auto dcFlushRequired = device->getProductHelper ().isDcFlushAllowed ();
60
+
59
61
{
60
62
EXPECT_EQ (ZE_RESULT_SUCCESS, zeCommandListCreateImmediate (context, device, &cmdQueueDesc, &cmdListHandle));
61
63
auto cmdList = static_cast <WhiteBox<L0::CommandListCoreFamilyImmediate<gfxCoreFamily>> *>(CommandList::fromHandle (cmdListHandle));
62
- EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
63
- EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
64
64
65
- auto queue = static_cast <WhiteBox<L0::CommandQueue> *>(cmdList->cmdQImmediateCopyOffload );
66
- EXPECT_EQ (cmdQueueDesc.priority , queue->desc .priority );
67
- EXPECT_EQ (cmdQueueDesc.mode , queue->desc .mode );
68
- EXPECT_TRUE (queue->peekIsCopyOnlyCommandQueue ());
69
- EXPECT_TRUE (NEO::EngineHelpers::isBcs (queue->getCsr ()->getOsContext ().getEngineType ()));
65
+ if (dcFlushRequired) {
66
+ EXPECT_FALSE (cmdList->copyOperationOffloadEnabled );
67
+ EXPECT_EQ (nullptr , cmdList->cmdQImmediateCopyOffload );
68
+ } else {
69
+
70
+ EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
71
+ EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
72
+
73
+ auto queue = static_cast <WhiteBox<L0::CommandQueue> *>(cmdList->cmdQImmediateCopyOffload );
74
+ EXPECT_EQ (cmdQueueDesc.priority , queue->desc .priority );
75
+ EXPECT_EQ (cmdQueueDesc.mode , queue->desc .mode );
76
+ EXPECT_TRUE (queue->peekIsCopyOnlyCommandQueue ());
77
+ EXPECT_TRUE (NEO::EngineHelpers::isBcs (queue->getCsr ()->getOsContext ().getEngineType ()));
78
+ }
70
79
71
80
zeCommandListDestroy (cmdListHandle);
72
81
}
@@ -77,14 +86,20 @@ HWTEST2_F(CopyOffloadInOrderTests, givenDebugFlagSetWhenCreatingCmdListThenEnabl
77
86
78
87
EXPECT_EQ (ZE_RESULT_SUCCESS, zeCommandListCreateImmediate (context, device, &cmdQueueDesc, &cmdListHandle));
79
88
auto cmdList = static_cast <WhiteBox<L0::CommandListCoreFamilyImmediate<gfxCoreFamily>> *>(CommandList::fromHandle (cmdListHandle));
80
- EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
81
- EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
82
89
83
- auto queue = static_cast <WhiteBox<L0::CommandQueue> *>(cmdList->cmdQImmediateCopyOffload );
84
- EXPECT_EQ (cmdQueueDesc.priority , queue->desc .priority );
85
- EXPECT_EQ (cmdQueueDesc.mode , queue->desc .mode );
86
- EXPECT_TRUE (queue->peekIsCopyOnlyCommandQueue ());
87
- EXPECT_TRUE (NEO::EngineHelpers::isBcs (queue->getCsr ()->getOsContext ().getEngineType ()));
90
+ if (dcFlushRequired) {
91
+ EXPECT_FALSE (cmdList->copyOperationOffloadEnabled );
92
+ EXPECT_EQ (nullptr , cmdList->cmdQImmediateCopyOffload );
93
+ } else {
94
+ EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
95
+ EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
96
+
97
+ auto queue = static_cast <WhiteBox<L0::CommandQueue> *>(cmdList->cmdQImmediateCopyOffload );
98
+ EXPECT_EQ (cmdQueueDesc.priority , queue->desc .priority );
99
+ EXPECT_EQ (cmdQueueDesc.mode , queue->desc .mode );
100
+ EXPECT_TRUE (queue->peekIsCopyOnlyCommandQueue ());
101
+ EXPECT_TRUE (NEO::EngineHelpers::isBcs (queue->getCsr ()->getOsContext ().getEngineType ()));
102
+ }
88
103
89
104
zeCommandListDestroy (cmdListHandle);
90
105
@@ -145,11 +160,19 @@ HWTEST2_F(CopyOffloadInOrderTests, givenQueueDescriptorWhenCreatingCmdListThenEn
145
160
146
161
cmdQueueDesc.pNext = ©OffloadDesc;
147
162
163
+ auto dcFlushRequired = device->getProductHelper ().isDcFlushAllowed ();
164
+
148
165
{
149
166
EXPECT_EQ (ZE_RESULT_SUCCESS, zeCommandListCreateImmediate (context, device, &cmdQueueDesc, &cmdListHandle));
150
167
auto cmdList = static_cast <WhiteBox<L0::CommandListCoreFamilyImmediate<gfxCoreFamily>> *>(CommandList::fromHandle (cmdListHandle));
151
- EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
152
- EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
168
+
169
+ if (dcFlushRequired) {
170
+ EXPECT_FALSE (cmdList->copyOperationOffloadEnabled );
171
+ EXPECT_EQ (nullptr , cmdList->cmdQImmediateCopyOffload );
172
+ } else {
173
+ EXPECT_TRUE (cmdList->copyOperationOffloadEnabled );
174
+ EXPECT_NE (nullptr , cmdList->cmdQImmediateCopyOffload );
175
+ }
153
176
154
177
zeCommandListDestroy (cmdListHandle);
155
178
}
0 commit comments