Add extension property reporting for zeImageViewCreateExt
This is a follow-up of #18444 `ZE_extension_image_view` and `ZE_extension_image_view_planar` should be reported by NEO, and `ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC` needs to be recognized Related-to: LOCI-3769 Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
This commit is contained in:
parent
1cc5cecbd4
commit
f087a4cf70
|
@ -112,7 +112,9 @@ struct DriverHandleImp : public DriverHandle {
|
|||
{ZE_CONTEXT_POWER_SAVING_HINT_EXP_NAME, ZE_POWER_SAVING_HINT_EXP_VERSION_CURRENT},
|
||||
{ZE_DEVICE_LUID_EXT_NAME, ZE_DEVICE_LUID_EXT_VERSION_CURRENT},
|
||||
{ZE_DEVICE_IP_VERSION_EXT_NAME, ZE_DEVICE_IP_VERSION_VERSION_CURRENT},
|
||||
{ZE_CACHE_RESERVATION_EXT_NAME, ZE_CACHE_RESERVATION_EXT_VERSION_CURRENT}};
|
||||
{ZE_CACHE_RESERVATION_EXT_NAME, ZE_CACHE_RESERVATION_EXT_VERSION_CURRENT},
|
||||
{ZE_IMAGE_VIEW_EXT_NAME, ZE_IMAGE_VIEW_EXP_VERSION_CURRENT},
|
||||
{ZE_IMAGE_VIEW_PLANAR_EXT_NAME, ZE_IMAGE_VIEW_PLANAR_EXP_VERSION_CURRENT}};
|
||||
|
||||
uint64_t uuidTimestamp = 0u;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -107,6 +107,11 @@ inline ze_result_t prepareL0StructuresLookupTable(StructuresLookupTable &lookupT
|
|||
lookupTable.areImageProperties = true;
|
||||
lookupTable.imageProperties.isPlanarExtension = true;
|
||||
lookupTable.imageProperties.planeIndex = imageViewDesc->planeIndex;
|
||||
} else if (extendedDesc->stype == ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC) {
|
||||
const ze_image_view_planar_ext_desc_t *imageViewDesc = reinterpret_cast<const ze_image_view_planar_ext_desc_t *>(extendedDesc);
|
||||
lookupTable.areImageProperties = true;
|
||||
lookupTable.imageProperties.isPlanarExtension = true;
|
||||
lookupTable.imageProperties.planeIndex = imageViewDesc->planeIndex;
|
||||
} else if (extendedDesc->stype == ZE_STRUCTURE_TYPE_RELAXED_ALLOCATION_LIMITS_EXP_DESC) {
|
||||
const ze_relaxed_allocation_limits_exp_desc_t *relaxedLimitsDesc =
|
||||
reinterpret_cast<const ze_relaxed_allocation_limits_exp_desc_t *>(extendedDesc);
|
||||
|
|
|
@ -109,6 +109,8 @@ void testAppendImageViewNV12Copy(ze_context_handle_t &context, ze_device_handle_
|
|||
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExp(context, device, &imageViewDescPlaneY, srcImg, &planeYImageView));
|
||||
|
||||
planeYdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExt(context, device, &imageViewDescPlaneY, srcImg, &planeYImageView));
|
||||
|
||||
|
@ -133,6 +135,8 @@ void testAppendImageViewNV12Copy(ze_context_handle_t &context, ze_device_handle_
|
|||
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExp(context, device, &imageViewDescPlaneUV, srcImg, &planeUVImageView));
|
||||
|
||||
planeUVdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExt(context, device, &imageViewDescPlaneUV, srcImg, &planeUVImageView));
|
||||
|
||||
|
@ -358,6 +362,8 @@ void testAppendImageViewRGBPCopy(ze_context_handle_t &context, ze_device_handle_
|
|||
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExp(context, device, &imageViewDescPlaneY, srcImg, &planeYImageView));
|
||||
|
||||
planeYdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExt(context, device, &imageViewDescPlaneY, srcImg, &planeYImageView));
|
||||
|
||||
|
@ -382,6 +388,8 @@ void testAppendImageViewRGBPCopy(ze_context_handle_t &context, ze_device_handle_
|
|||
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExp(context, device, &imageViewDescPlaneU, srcImg, &planeUImageView));
|
||||
|
||||
planeUdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExt(context, device, &imageViewDescPlaneU, srcImg, &planeUImageView));
|
||||
|
||||
|
@ -406,6 +414,8 @@ void testAppendImageViewRGBPCopy(ze_context_handle_t &context, ze_device_handle_
|
|||
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExp(context, device, &imageViewDescPlaneV, srcImg, &planeVImageView));
|
||||
|
||||
planeVdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
SUCCESS_OR_TERMINATE(
|
||||
zeImageViewCreateExt(context, device, &imageViewDescPlaneV, srcImg, &planeVImageView));
|
||||
|
||||
|
|
|
@ -1293,7 +1293,7 @@ HWTEST2_F(ImageCreate, WhenCopyingToSshThenSurfacePropertiesAreRetained, IsAtMos
|
|||
delete imageB;
|
||||
}
|
||||
|
||||
HWTEST2_F(ImageCreate, WhenImageViewCreateThenSuccessIsReturned, IsAtLeastSkl) {
|
||||
HWTEST2_F(ImageCreate, WhenImageViewCreateExpThenSuccessIsReturned, IsAtLeastSkl) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
const size_t width = 32;
|
||||
const size_t height = 32;
|
||||
|
@ -1348,5 +1348,60 @@ HWTEST2_F(ImageCreate, WhenImageViewCreateThenSuccessIsReturned, IsAtLeastSkl) {
|
|||
zeImageDestroy(planeY);
|
||||
}
|
||||
|
||||
HWTEST2_F(ImageCreate, WhenImageViewCreateExtThenSuccessIsReturned, IsAtLeastSkl) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
const size_t width = 32;
|
||||
const size_t height = 32;
|
||||
const size_t depth = 1;
|
||||
|
||||
ze_image_desc_t srcImgDesc = {ZE_STRUCTURE_TYPE_IMAGE_DESC,
|
||||
nullptr,
|
||||
(ZE_IMAGE_FLAG_KERNEL_WRITE | ZE_IMAGE_FLAG_BIAS_UNCACHED),
|
||||
ZE_IMAGE_TYPE_2D,
|
||||
{ZE_IMAGE_FORMAT_LAYOUT_NV12, ZE_IMAGE_FORMAT_TYPE_UINT,
|
||||
ZE_IMAGE_FORMAT_SWIZZLE_R, ZE_IMAGE_FORMAT_SWIZZLE_G,
|
||||
ZE_IMAGE_FORMAT_SWIZZLE_B, ZE_IMAGE_FORMAT_SWIZZLE_A},
|
||||
width,
|
||||
height,
|
||||
depth,
|
||||
0,
|
||||
0};
|
||||
|
||||
auto imageHW = std::make_unique<WhiteBox<::L0::ImageCoreFamily<gfxCoreFamily>>>();
|
||||
auto ret = imageHW->initialize(device, &srcImgDesc);
|
||||
ASSERT_EQ(ZE_RESULT_SUCCESS, ret);
|
||||
|
||||
ze_image_view_planar_ext_desc_t planeYdesc = {};
|
||||
planeYdesc.stype = ZE_STRUCTURE_TYPE_IMAGE_VIEW_PLANAR_EXT_DESC;
|
||||
planeYdesc.planeIndex = 0u; // Y plane
|
||||
|
||||
ze_image_desc_t imageViewDescPlaneY = {ZE_STRUCTURE_TYPE_IMAGE_DESC,
|
||||
&planeYdesc,
|
||||
(ZE_IMAGE_FLAG_KERNEL_WRITE | ZE_IMAGE_FLAG_BIAS_UNCACHED),
|
||||
ZE_IMAGE_TYPE_2D,
|
||||
{ZE_IMAGE_FORMAT_LAYOUT_8, ZE_IMAGE_FORMAT_TYPE_UINT,
|
||||
ZE_IMAGE_FORMAT_SWIZZLE_A, ZE_IMAGE_FORMAT_SWIZZLE_B,
|
||||
ZE_IMAGE_FORMAT_SWIZZLE_G, ZE_IMAGE_FORMAT_SWIZZLE_R},
|
||||
width,
|
||||
height,
|
||||
depth,
|
||||
0,
|
||||
0};
|
||||
ze_image_handle_t planeY;
|
||||
|
||||
ret = imageHW->createView(device, &imageViewDescPlaneY, &planeY);
|
||||
ASSERT_EQ(ZE_RESULT_SUCCESS, ret);
|
||||
|
||||
ASSERT_EQ(ZE_RESULT_SUCCESS, ret);
|
||||
|
||||
auto nv12Allocation = imageHW->getAllocation();
|
||||
|
||||
auto planeYAllocation = Image::fromHandle(planeY)->getAllocation();
|
||||
|
||||
EXPECT_EQ(nv12Allocation->getGpuBaseAddress(), planeYAllocation->getGpuBaseAddress());
|
||||
|
||||
zeImageDestroy(planeY);
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
||||
|
|
Loading…
Reference in New Issue