Skip to content

Commit d1d81c1

Browse files
Revert "Enable blitter support for read/write images OpenCL"
This reverts commit 933b483b961351cbdb0a50d52bd61c76ae03443b.
1 parent b0c915c commit d1d81c1

File tree

5 files changed

+20
-4
lines changed

5 files changed

+20
-4
lines changed

opencl/source/cl_device/cl_device.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ cl_command_queue_capabilities_intel ClDevice::getQueueFamilyCapabilities(EngineG
227227
if (hwHelper.isCopyOnlyEngineType(type)) {
228228
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_KERNEL_INTEL);
229229
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL); // clEnqueueFillBuffer
230-
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL); // clEnqueueReadImage, clEnqueueWriteImage, clEnqueueCopyImage
230+
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL); // clEnqueueCopyImage
231231
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL); // clEnqueueFillImage
232232
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL); // clEnqueueCopyBufferToImage
233233
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL); // clEnqueueCopyImageToBuffer

opencl/source/command_queue/command_queue.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -675,13 +675,14 @@ bool CommandQueue::blitEnqueueAllowed(cl_command_type cmdType) const {
675675
}
676676

677677
bool CommandQueue::blitEnqueueImageAllowed(const size_t *origin, const size_t *region) {
678-
auto blitEnqueueImageAllowed = (origin[0] + region[0] <= BlitterConstants::maxBlitWidth) && (origin[1] + region[1] <= BlitterConstants::maxBlitHeight);
678+
auto blitEnqueuImageAllowed = false;
679679

680680
if (DebugManager.flags.EnableBlitterForReadWriteImage.get() != -1) {
681-
blitEnqueueImageAllowed = DebugManager.flags.EnableBlitterForReadWriteImage.get();
681+
blitEnqueuImageAllowed = DebugManager.flags.EnableBlitterForReadWriteImage.get();
682+
blitEnqueuImageAllowed &= (origin[0] + region[0] <= BlitterConstants::maxBlitWidth) && (origin[1] + region[1] <= BlitterConstants::maxBlitHeight);
682683
}
683684

684-
return blitEnqueueImageAllowed;
685+
return blitEnqueuImageAllowed;
685686
}
686687

687688
bool CommandQueue::isBlockedCommandStreamRequired(uint32_t commandType, const EventsRequest &eventsRequest, bool blockedQueue) const {

opencl/test/unit_test/command_queue/command_queue_tests.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,7 @@ TEST(CommandQueue, giveClCommandWhenCallingBlitEnqueueAllowedThenReturnCorrectVa
11961196

11971197
TEST(CommandQueue, givenCopySizeAndOffsetWhenCallingBlitEnqueueImageAllowedThenReturnCorrectValue) {
11981198
DebugManagerStateRestore restorer;
1199+
DebugManager.flags.EnableBlitterForReadWriteImage.set(1);
11991200
MockContext context{};
12001201
MockCommandQueue queue(&context, context.getDevice(0), 0);
12011202

opencl/test/unit_test/command_queue/enqueue_read_image_tests.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@ HWTEST_F(EnqueueReadImageTest, givenDeviceWithBlitterSupportWhenEnqueueReadImage
434434
DebugManagerStateRestore restorer;
435435
DebugManager.flags.OverrideInvalidEngineWithDefault.set(1);
436436
DebugManager.flags.EnableBlitterForEnqueueOperations.set(1);
437+
DebugManager.flags.EnableBlitterForReadWriteImage.set(1);
437438

438439
auto &capabilityTable = pClDevice->getRootDeviceEnvironment().getMutableHardwareInfo()->capabilityTable;
439440
capabilityTable.blitterOperationsSupported = true;
@@ -450,6 +451,12 @@ HWTEST_F(EnqueueReadImageTest, givenDeviceWithBlitterSupportWhenEnqueueReadImage
450451
EnqueueReadImageHelper<>::enqueueReadImage(mockCmdQ.get(), image.get(), CL_TRUE, origin, region);
451452
EXPECT_TRUE(mockCmdQ->isBlitEnqueueImageAllowed);
452453
}
454+
{
455+
DebugManager.flags.EnableBlitterForReadWriteImage.set(-1);
456+
size_t region[] = {BlitterConstants::maxBlitWidth, BlitterConstants::maxBlitHeight, 1};
457+
EnqueueReadImageHelper<>::enqueueReadImage(mockCmdQ.get(), image.get(), CL_TRUE, origin, region);
458+
EXPECT_FALSE(mockCmdQ->isBlitEnqueueImageAllowed);
459+
}
453460
{
454461
DebugManager.flags.EnableBlitterForReadWriteImage.set(0);
455462
size_t region[] = {BlitterConstants::maxBlitWidth, BlitterConstants::maxBlitHeight, 1};

opencl/test/unit_test/command_queue/enqueue_write_image_tests.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ HWTEST_F(EnqueueWriteImageTest, givenDeviceWithBlitterSupportWhenEnqueueWriteIma
206206
DebugManagerStateRestore restorer;
207207
DebugManager.flags.OverrideInvalidEngineWithDefault.set(1);
208208
DebugManager.flags.EnableBlitterForEnqueueOperations.set(1);
209+
DebugManager.flags.EnableBlitterForReadWriteImage.set(1);
209210

210211
auto &capabilityTable = pClDevice->getRootDeviceEnvironment().getMutableHardwareInfo()->capabilityTable;
211212
capabilityTable.blitterOperationsSupported = true;
@@ -222,6 +223,12 @@ HWTEST_F(EnqueueWriteImageTest, givenDeviceWithBlitterSupportWhenEnqueueWriteIma
222223
EnqueueWriteImageHelper<>::enqueueWriteImage(mockCmdQ.get(), image.get(), CL_FALSE, origin, region);
223224
EXPECT_TRUE(mockCmdQ->isBlitEnqueueImageAllowed);
224225
}
226+
{
227+
DebugManager.flags.EnableBlitterForReadWriteImage.set(-1);
228+
size_t region[] = {BlitterConstants::maxBlitWidth, BlitterConstants::maxBlitHeight, 1};
229+
EnqueueWriteImageHelper<>::enqueueWriteImage(mockCmdQ.get(), image.get(), CL_FALSE, origin, region);
230+
EXPECT_FALSE(mockCmdQ->isBlitEnqueueImageAllowed);
231+
}
225232
{
226233
DebugManager.flags.EnableBlitterForReadWriteImage.set(0);
227234
size_t region[] = {BlitterConstants::maxBlitWidth, BlitterConstants::maxBlitHeight, 1};

0 commit comments

Comments
 (0)