Return ZE_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT for unsupported images

Change-Id: I731c50be70019fa95d57f71489f31aae6a4ba9a5
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
This commit is contained in:
Spruit, Neil R 2020-08-13 14:36:17 +00:00 committed by sys_ocldev
parent 8fffdcc111
commit e7fd522c5d
2 changed files with 21 additions and 0 deletions

View File

@ -171,6 +171,10 @@ ze_result_t DeviceImp::createImage(const ze_image_desc_t *desc, ze_image_handle_
auto productFamily = neoDevice->getHardwareInfo().platform.eProductFamily;
*phImage = Image::create(productFamily, this, desc);
if (!*phImage) {
return ZE_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT;
}
return ZE_RESULT_SUCCESS;
}

View File

@ -112,6 +112,23 @@ HWTEST2_F(ImageCreate, givenValidImageDescriptionWhenImageCreateThenImageIsCreat
EXPECT_EQ(imageInfo.useLocalMemory, false);
}
HWTEST2_F(ImageCreate, givenValidImageDescriptionWhenImageCreateWithUnsupportedImageThenNullPtrImageIsReturned, ImageSupport) {
ze_image_desc_t zeDesc = {};
zeDesc.arraylevels = 1u;
zeDesc.depth = 1u;
zeDesc.height = 1u;
zeDesc.width = 1u;
zeDesc.miplevels = 1u;
zeDesc.type = ZE_IMAGE_TYPE_2DARRAY;
zeDesc.flags = ZE_IMAGE_FLAG_BIAS_UNCACHED;
zeDesc.format = {ZE_IMAGE_FORMAT_LAYOUT_Y216};
std::unique_ptr<L0::Image> image(Image::create(productFamily, device, &zeDesc));
ASSERT_EQ(image, nullptr);
}
class TestImageFormats : public DeviceFixture, public testing::TestWithParam<std::pair<ze_image_format_layout_t, ze_image_format_type_t>> {
public:
void SetUp() override {