Skip to content

Commit e7fd522

Browse files
Return ZE_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT for unsupported images
Change-Id: I731c50be70019fa95d57f71489f31aae6a4ba9a5 Signed-off-by: Spruit, Neil R <[email protected]>
1 parent 8fffdcc commit e7fd522

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

level_zero/core/source/device/device_imp.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ ze_result_t DeviceImp::createImage(const ze_image_desc_t *desc, ze_image_handle_
171171
auto productFamily = neoDevice->getHardwareInfo().platform.eProductFamily;
172172
*phImage = Image::create(productFamily, this, desc);
173173

174+
if (!*phImage) {
175+
return ZE_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT;
176+
}
177+
174178
return ZE_RESULT_SUCCESS;
175179
}
176180

level_zero/core/test/unit_tests/sources/image/test_image.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,23 @@ HWTEST2_F(ImageCreate, givenValidImageDescriptionWhenImageCreateThenImageIsCreat
112112
EXPECT_EQ(imageInfo.useLocalMemory, false);
113113
}
114114

115+
HWTEST2_F(ImageCreate, givenValidImageDescriptionWhenImageCreateWithUnsupportedImageThenNullPtrImageIsReturned, ImageSupport) {
116+
ze_image_desc_t zeDesc = {};
117+
zeDesc.arraylevels = 1u;
118+
zeDesc.depth = 1u;
119+
zeDesc.height = 1u;
120+
zeDesc.width = 1u;
121+
zeDesc.miplevels = 1u;
122+
zeDesc.type = ZE_IMAGE_TYPE_2DARRAY;
123+
zeDesc.flags = ZE_IMAGE_FLAG_BIAS_UNCACHED;
124+
125+
zeDesc.format = {ZE_IMAGE_FORMAT_LAYOUT_Y216};
126+
127+
std::unique_ptr<L0::Image> image(Image::create(productFamily, device, &zeDesc));
128+
129+
ASSERT_EQ(image, nullptr);
130+
}
131+
115132
class TestImageFormats : public DeviceFixture, public testing::TestWithParam<std::pair<ze_image_format_layout_t, ze_image_format_type_t>> {
116133
public:
117134
void SetUp() override {

0 commit comments

Comments
 (0)