diff --git a/runtime/command_queue/command_queue.cpp b/runtime/command_queue/command_queue.cpp index 96057b760b..4026e31b7f 100644 --- a/runtime/command_queue/command_queue.cpp +++ b/runtime/command_queue/command_queue.cpp @@ -578,10 +578,11 @@ bool CommandQueue::queueDependenciesClearRequired() const { } bool CommandQueue::blitEnqueueAllowed(cl_command_type cmdType) const { - bool blitAllowed = device->getExecutionEnvironment()->getHardwareInfo()->capabilityTable.blitterOperationsSupported; + bool blitAllowed = false; if (DebugManager.flags.EnableBlitterOperationsForReadWriteBuffers.get() != -1) { - blitAllowed &= !!DebugManager.flags.EnableBlitterOperationsForReadWriteBuffers.get(); + blitAllowed = !!DebugManager.flags.EnableBlitterOperationsForReadWriteBuffers.get() && + device->getExecutionEnvironment()->getHardwareInfo()->capabilityTable.blitterOperationsSupported; } bool commandAllowed = (CL_COMMAND_READ_BUFFER == cmdType) || (CL_COMMAND_WRITE_BUFFER == cmdType); diff --git a/unit_tests/mem_obj/buffer_tests.cpp b/unit_tests/mem_obj/buffer_tests.cpp index d9e02d6a50..36a84bb02f 100644 --- a/unit_tests/mem_obj/buffer_tests.cpp +++ b/unit_tests/mem_obj/buffer_tests.cpp @@ -757,14 +757,14 @@ HWTEST_TEMPLATED_F(BcsBufferTests, givenBcsSupportedWhenEnqueueReadWriteBufferIs commandQueue->enqueueWriteBuffer(bufferForBlt.get(), CL_TRUE, 0, 1, &hostPtr, nullptr, 0, nullptr, nullptr); commandQueue->enqueueReadBuffer(bufferForBlt.get(), CL_TRUE, 0, 1, &hostPtr, nullptr, 0, nullptr, nullptr); - EXPECT_EQ(2u, bcsCsr->blitBufferCalled); + EXPECT_EQ(0u, bcsCsr->blitBufferCalled); DebugManager.flags.EnableBlitterOperationsForReadWriteBuffers.set(1); hwInfo->capabilityTable.blitterOperationsSupported = true; commandQueue->enqueueWriteBuffer(bufferForBlt.get(), CL_TRUE, 0, 1, &hostPtr, nullptr, 0, nullptr, nullptr); - EXPECT_EQ(3u, bcsCsr->blitBufferCalled); + EXPECT_EQ(1u, bcsCsr->blitBufferCalled); commandQueue->enqueueReadBuffer(bufferForBlt.get(), CL_TRUE, 0, 1, &hostPtr, nullptr, 0, nullptr, nullptr); - EXPECT_EQ(4u, bcsCsr->blitBufferCalled); + EXPECT_EQ(2u, bcsCsr->blitBufferCalled); } HWTEST_TEMPLATED_F(BcsBufferTests, givenBcsSupportedWhenQueueIsBlockedThenDispatchBlitWhenUnblocked) {