Cleanup images pitch programming OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com> Related-To: NEO-4692
This commit is contained in:
parent
0eb85bfa95
commit
30151a8f02
|
@ -419,10 +419,10 @@ class BuiltInOp<EBuiltInOps::CopyBufferToImage3d> : public BuiltinDispatchInfoBu
|
|||
|
||||
size_t region[] = {operationParams.size.x, operationParams.size.y, operationParams.size.z};
|
||||
|
||||
auto srcRowPitch = operationParams.dstRowPitch ? operationParams.dstRowPitch : region[0] * bytesPerPixel;
|
||||
auto srcRowPitch = operationParams.srcRowPitch ? operationParams.srcRowPitch : region[0] * bytesPerPixel;
|
||||
|
||||
auto srcSlicePitch =
|
||||
operationParams.dstSlicePitch ? operationParams.dstSlicePitch : ((dstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY ? 1 : region[1]) * srcRowPitch);
|
||||
operationParams.srcSlicePitch ? operationParams.srcSlicePitch : ((dstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY ? 1 : region[1]) * srcRowPitch);
|
||||
|
||||
// Determine size of host ptr surface for residency purposes
|
||||
size_t hostPtrSize = operationParams.srcPtr ? Image::calculateHostPtrSize(region, srcRowPitch, srcSlicePitch, bytesPerPixel, dstImage->getImageDesc().image_type) : 0;
|
||||
|
@ -535,10 +535,10 @@ class BuiltInOp<EBuiltInOps::CopyImage3dToBuffer> : public BuiltinDispatchInfoBu
|
|||
|
||||
size_t region[] = {operationParams.size.x, operationParams.size.y, operationParams.size.z};
|
||||
|
||||
auto dstRowPitch = operationParams.srcRowPitch ? operationParams.srcRowPitch : region[0] * bytesPerPixel;
|
||||
auto dstRowPitch = operationParams.dstRowPitch ? operationParams.dstRowPitch : region[0] * bytesPerPixel;
|
||||
|
||||
auto dstSlicePitch =
|
||||
operationParams.srcSlicePitch ? operationParams.srcSlicePitch : ((srcImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY ? 1 : region[1]) * dstRowPitch);
|
||||
operationParams.dstSlicePitch ? operationParams.dstSlicePitch : ((srcImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY ? 1 : region[1]) * dstRowPitch);
|
||||
|
||||
// Determine size of host ptr surface for residency purposes
|
||||
size_t hostPtrSize = operationParams.dstPtr ? Image::calculateHostPtrSize(region, dstRowPitch, dstSlicePitch, bytesPerPixel, srcImage->getImageDesc().image_type) : 0;
|
||||
|
|
|
@ -95,8 +95,8 @@ cl_int CommandQueueHw<GfxFamily>::enqueueReadImage(
|
|||
dc.dstOffset.x = dstPtrOffset;
|
||||
dc.srcOffset = origin;
|
||||
dc.size = region;
|
||||
dc.srcRowPitch = (srcImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) ? inputSlicePitch : inputRowPitch;
|
||||
dc.srcSlicePitch = inputSlicePitch;
|
||||
dc.dstRowPitch = (srcImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) ? inputSlicePitch : inputRowPitch;
|
||||
dc.dstSlicePitch = inputSlicePitch;
|
||||
if (isMipMapped(srcImage->getImageDesc())) {
|
||||
dc.srcMipLevel = findMipLevel(srcImage->getImageDesc().image_type, origin);
|
||||
}
|
||||
|
|
|
@ -84,8 +84,8 @@ cl_int CommandQueueHw<GfxFamily>::enqueueWriteImage(
|
|||
dc.dstMemObj = dstImage;
|
||||
dc.dstOffset = origin;
|
||||
dc.size = region;
|
||||
dc.dstRowPitch = ((dstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) && (inputSlicePitch > inputRowPitch)) ? inputSlicePitch : inputRowPitch;
|
||||
dc.dstSlicePitch = inputSlicePitch;
|
||||
dc.srcRowPitch = ((dstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) && (inputSlicePitch > inputRowPitch)) ? inputSlicePitch : inputRowPitch;
|
||||
dc.srcSlicePitch = inputSlicePitch;
|
||||
if (isMipMapped(dstImage->getImageDesc())) {
|
||||
dc.dstMipLevel = findMipLevel(dstImage->getImageDesc().image_type, origin);
|
||||
}
|
||||
|
|
|
@ -182,10 +182,10 @@ struct ClBlitProperties {
|
|||
}
|
||||
|
||||
static void setBlitPropertiesForImage(BlitProperties &blitProperties, const BuiltinOpParams &builtinOpParams) {
|
||||
size_t srcRowPitch = builtinOpParams.dstRowPitch;
|
||||
size_t dstRowPitch = builtinOpParams.srcRowPitch;
|
||||
size_t srcSlicePitch = builtinOpParams.dstSlicePitch;
|
||||
size_t dstSlicePitch = builtinOpParams.srcSlicePitch;
|
||||
size_t srcRowPitch = builtinOpParams.srcRowPitch;
|
||||
size_t dstRowPitch = builtinOpParams.dstRowPitch;
|
||||
size_t srcSlicePitch = builtinOpParams.srcSlicePitch;
|
||||
size_t dstSlicePitch = builtinOpParams.dstSlicePitch;
|
||||
|
||||
if (blitProperties.blitDirection == BlitterConstants::BlitDirection::ImageToHostPtr) {
|
||||
adjustBlitPropertiesForImage(builtinOpParams.srcMemObj, blitProperties.srcSize, blitProperties.bytesPerPixel,
|
||||
|
|
|
@ -614,7 +614,7 @@ HWTEST_F(EnqueueReadImageTest, GivenImage1DarrayWhenReadImageIsCalledThenRowPitc
|
|||
auto &mockBuilder = static_cast<MockBuiltinDispatchInfoBuilder &>(BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(copyBuiltIn,
|
||||
pCmdQ->getClDevice()));
|
||||
auto params = mockBuilder.getBuiltinOpParams();
|
||||
EXPECT_EQ(params->srcRowPitch, slicePitch);
|
||||
EXPECT_EQ(params->dstRowPitch, slicePitch);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = builtIns->setBuiltinDispatchInfoBuilder(
|
||||
|
|
|
@ -299,7 +299,7 @@ HWTEST_F(EnqueueWriteImageTest, GivenImage1DarrayWhenWriteImageIsCalledThenRowPi
|
|||
auto &mockBuilder = static_cast<MockBuiltinDispatchInfoBuilder &>(BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(copyBuiltIn,
|
||||
pCmdQ->getClDevice()));
|
||||
auto params = mockBuilder.getBuiltinOpParams();
|
||||
EXPECT_EQ(params->dstRowPitch, slicePitch);
|
||||
EXPECT_EQ(params->srcRowPitch, slicePitch);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = builtIns->setBuiltinDispatchInfoBuilder(
|
||||
|
|
|
@ -1463,9 +1463,8 @@ HWTEST_F(BcsTests, givenHostPtrToImageWithInputRowSlicePitchesWhenConstructPrope
|
|||
builtinOpParams.size = {2, 3, 1};
|
||||
auto inputRowPitch = 0x20u;
|
||||
auto inputSlicePitch = 0x400u;
|
||||
builtinOpParams.dstRowPitch = inputRowPitch;
|
||||
builtinOpParams.dstSlicePitch = inputSlicePitch;
|
||||
|
||||
builtinOpParams.srcRowPitch = inputRowPitch;
|
||||
builtinOpParams.srcSlicePitch = inputSlicePitch;
|
||||
auto dstRowPitchExpected = image.get()->getImageDesc().image_row_pitch;
|
||||
auto dstSlicePitchExpected = image.get()->getImageDesc().image_slice_pitch;
|
||||
|
||||
|
@ -1491,8 +1490,8 @@ HWTEST_F(BcsTests, givenImageToHostPtrWithInputRowSlicePitchesWhenConstructPrope
|
|||
builtinOpParams.size = {2, 3, 1};
|
||||
auto inputRowPitch = 0x20u;
|
||||
auto inputSlicePitch = 0x400u;
|
||||
builtinOpParams.srcRowPitch = inputRowPitch;
|
||||
builtinOpParams.srcSlicePitch = inputSlicePitch;
|
||||
builtinOpParams.dstRowPitch = inputRowPitch;
|
||||
builtinOpParams.dstSlicePitch = inputSlicePitch;
|
||||
|
||||
auto srcRowPitchExpected = image.get()->getImageDesc().image_row_pitch;
|
||||
auto srcSlicePitchExpected = image.get()->getImageDesc().image_slice_pitch;
|
||||
|
|
Loading…
Reference in New Issue