fix: do not allow blit for depth image on arl

Related-To: NEO-14344
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2025-05-13 12:27:02 +00:00
committed by Compute-Runtime-Automation
parent 749ca4f1fb
commit 85ed1a15e4
21 changed files with 142 additions and 3 deletions

View File

@@ -28,6 +28,7 @@
#include "shared/source/memory_manager/internal_allocation_storage.h"
#include "shared/source/os_interface/os_context.h"
#include "shared/source/os_interface/product_helper.h"
#include "shared/source/release_helper/release_helper.h"
#include "shared/source/utilities/api_intercept.h"
#include "shared/source/utilities/staging_buffer_manager.h"
#include "shared/source/utilities/tag_allocator.h"
@@ -269,7 +270,6 @@ CommandStreamReceiver &CommandQueue::selectCsrForBuiltinOperation(const CsrSelec
if (!blitEnqueueAllowed(args)) {
return getGpgpuCommandStreamReceiver();
}
bool preferBcs = true;
aub_stream::EngineType preferredBcsEngineType = aub_stream::EngineType::NUM_ENGINES;
switch (args.direction) {
@@ -1142,11 +1142,15 @@ bool CommandQueue::blitEnqueueAllowed(const CsrSelectionArgs &args) const {
bool CommandQueue::blitEnqueueImageAllowed(const size_t *origin, const size_t *region, const Image &image) const {
const auto &hwInfo = device->getHardwareInfo();
auto &productHelper = device->getProductHelper();
auto releaseHelper = device->getDevice().getReleaseHelper();
auto blitEnqueueImageAllowed = productHelper.isBlitterForImagesSupported();
if (debugManager.flags.EnableBlitterForEnqueueImageOperations.get() != -1) {
blitEnqueueImageAllowed = debugManager.flags.EnableBlitterForEnqueueImageOperations.get();
}
if (releaseHelper) {
blitEnqueueImageAllowed &= !(Image::isDepthFormat(image.getImageFormat()) && !releaseHelper->isBlitImageAllowedForDepthFormat());
}
blitEnqueueImageAllowed &= !isMipMapped(image.getImageDesc());