Return error from DeviceImp::createImage call when images are not supported
Signed-off-by: John Falkowski <john.falkowski@intel.com>
This commit is contained in:
parent
623c9afdfa
commit
6b64c1b04b
|
@ -352,6 +352,12 @@ ze_result_t DeviceImp::getCommandQueueGroupProperties(uint32_t *pCount,
|
|||
ze_result_t DeviceImp::createImage(const ze_image_desc_t *desc, ze_image_handle_t *phImage) {
|
||||
auto productFamily = neoDevice->getHardwareInfo().platform.eProductFamily;
|
||||
Image *pImage = nullptr;
|
||||
|
||||
if (neoDevice->getDeviceInfo().imageSupport == false) {
|
||||
*phImage = nullptr;
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
auto result = Image::create(productFamily, this, desc, &pImage);
|
||||
if (result == ZE_RESULT_SUCCESS) {
|
||||
*phImage = pImage->toHandle();
|
||||
|
|
|
@ -3478,6 +3478,24 @@ TEST(zeDevice, givenNoImagesSupportedWhenGettingImagePropertiesThenZeroValuesAre
|
|||
EXPECT_EQ(0u, properties.maxWriteImageArgs);
|
||||
}
|
||||
|
||||
TEST(zeDevice, givenNoImagesSupportedWhenCreatingImageErrorReturns) {
|
||||
ze_result_t errorValue;
|
||||
|
||||
DriverHandleImp driverHandle{};
|
||||
NEO::MockDevice *neoDevice = (NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(NEO::defaultHwInfo.get(), 0));
|
||||
auto device = std::unique_ptr<L0::Device>(Device::create(&driverHandle, neoDevice, false, &errorValue));
|
||||
|
||||
ze_image_handle_t image = {};
|
||||
ze_image_desc_t desc = {};
|
||||
desc.stype = ZE_STRUCTURE_TYPE_IMAGE_DESC;
|
||||
|
||||
neoDevice->deviceInfo.imageSupport = false;
|
||||
|
||||
auto result = device->createImage(&desc, &image);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, result);
|
||||
EXPECT_EQ(nullptr, image);
|
||||
}
|
||||
|
||||
class MockCacheReservation : public CacheReservation {
|
||||
public:
|
||||
~MockCacheReservation() override = default;
|
||||
|
|
Loading…
Reference in New Issue