Enable support for half_float images on BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com> Related-To: NEO-4692
This commit is contained in:
parent
ad5735c60b
commit
88c6c9def8
|
@ -767,17 +767,16 @@ bool CommandQueue::blitEnqueuePreferred(cl_command_type cmdType, const BuiltinOp
|
|||
bool CommandQueue::blitEnqueueImageAllowed(const size_t *origin, const size_t *region, const Image &image) {
|
||||
const auto &hwInfo = device->getHardwareInfo();
|
||||
const auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto blitEnqueuImageAllowed = hwHelper.isBlitterForImagesSupported(hwInfo);
|
||||
auto blitEnqueueImageAllowed = hwHelper.isBlitterForImagesSupported(hwInfo);
|
||||
|
||||
if (DebugManager.flags.EnableBlitterForReadWriteImage.get() != -1) {
|
||||
blitEnqueuImageAllowed = DebugManager.flags.EnableBlitterForReadWriteImage.get();
|
||||
blitEnqueueImageAllowed = DebugManager.flags.EnableBlitterForReadWriteImage.get();
|
||||
}
|
||||
|
||||
blitEnqueuImageAllowed &= (origin[0] + region[0] <= BlitterConstants::maxBlitWidth) && (origin[1] + region[1] <= BlitterConstants::maxBlitHeight);
|
||||
blitEnqueuImageAllowed &= !isMipMapped(image.getImageDesc());
|
||||
blitEnqueuImageAllowed &= !(image.getImageFormat().image_channel_data_type == CL_HALF_FLOAT);
|
||||
blitEnqueueImageAllowed &= (origin[0] + region[0] <= BlitterConstants::maxBlitWidth) && (origin[1] + region[1] <= BlitterConstants::maxBlitHeight);
|
||||
blitEnqueueImageAllowed &= !isMipMapped(image.getImageDesc());
|
||||
|
||||
return blitEnqueuImageAllowed;
|
||||
return blitEnqueueImageAllowed;
|
||||
}
|
||||
|
||||
bool CommandQueue::isBlockedCommandStreamRequired(uint32_t commandType, const EventsRequest &eventsRequest, bool blockedQueue) const {
|
||||
|
|
|
@ -1353,23 +1353,6 @@ TEST(CommandQueue, givenMipMappedImageWhenCallingBlitEnqueueImageAllowedThenCorr
|
|||
EXPECT_FALSE(queue.blitEnqueueImageAllowed(correctOrigin, correctRegion, image));
|
||||
}
|
||||
|
||||
TEST(CommandQueue, givenHalfFloatImageWhenCallingBlitEnqueueImageAllowedThenCorrectResultIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.EnableBlitterForReadWriteImage.set(1);
|
||||
MockContext context{};
|
||||
MockCommandQueue queue(&context, context.getDevice(0), 0, false);
|
||||
|
||||
size_t correctRegion[3] = {10u, 10u, 0};
|
||||
size_t correctOrigin[3] = {1u, 1u, 0};
|
||||
MockImageBase image;
|
||||
|
||||
image.imageFormat.image_channel_data_type = CL_HALF_FLOAT;
|
||||
EXPECT_FALSE(queue.blitEnqueueImageAllowed(correctOrigin, correctRegion, image));
|
||||
|
||||
image.imageFormat.image_channel_data_type = CL_UNORM_INT8;
|
||||
EXPECT_TRUE(queue.blitEnqueueImageAllowed(correctOrigin, correctRegion, image));
|
||||
}
|
||||
|
||||
TEST(CommandQueue, givenImageWithDifferentImageTypesWhenCallingBlitEnqueueImageAllowedThenCorrectResultIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.EnableBlitterForReadWriteImage.set(1);
|
||||
|
|
Loading…
Reference in New Issue