@@ -1038,5 +1038,63 @@ TEST(zeDevice, givenValidImagePropertiesStructWhenGettingImagePropertiesThenSucc
10381038 EXPECT_EQ (ZE_RESULT_SUCCESS, result);
10391039}
10401040
1041+ TEST (zeDevice, givenImagesSupportedWhenGettingImagePropertiesThenValidValuesAreReturned) {
1042+ DriverHandleImp driverHandle{};
1043+ NEO::MockDevice *neoDevice = (NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(NEO::defaultHwInfo.get (), 0 ));
1044+ auto device = std::unique_ptr<L0::Device>(Device::create (&driverHandle, neoDevice, 1 , false ));
1045+ DeviceInfo &deviceInfo = neoDevice->deviceInfo ;
1046+
1047+ deviceInfo.imageSupport = true ;
1048+ deviceInfo.image2DMaxWidth = 1 ;
1049+ deviceInfo.image2DMaxHeight = 2 ;
1050+ deviceInfo.image3DMaxDepth = 3 ;
1051+ deviceInfo.imageMaxBufferSize = 4 ;
1052+ deviceInfo.imageMaxArraySize = 5 ;
1053+ deviceInfo.maxSamplers = 6 ;
1054+ deviceInfo.maxReadImageArgs = 7 ;
1055+ deviceInfo.maxWriteImageArgs = 8 ;
1056+
1057+ ze_device_image_properties_t properties{};
1058+ ze_result_t result = zeDeviceGetImageProperties (device->toHandle (), &properties);
1059+ EXPECT_EQ (ZE_RESULT_SUCCESS, result);
1060+ EXPECT_EQ (deviceInfo.image2DMaxWidth , static_cast <uint64_t >(properties.maxImageDims1D ));
1061+ EXPECT_EQ (deviceInfo.image2DMaxHeight , static_cast <uint64_t >(properties.maxImageDims2D ));
1062+ EXPECT_EQ (deviceInfo.image3DMaxDepth , static_cast <uint64_t >(properties.maxImageDims3D ));
1063+ EXPECT_EQ (deviceInfo.imageMaxBufferSize , properties.maxImageBufferSize );
1064+ EXPECT_EQ (deviceInfo.imageMaxArraySize , static_cast <uint64_t >(properties.maxImageArraySlices ));
1065+ EXPECT_EQ (deviceInfo.maxSamplers , properties.maxSamplers );
1066+ EXPECT_EQ (deviceInfo.maxReadImageArgs , properties.maxReadImageArgs );
1067+ EXPECT_EQ (deviceInfo.maxWriteImageArgs , properties.maxWriteImageArgs );
1068+ }
1069+
1070+ TEST (zeDevice, givenNoImagesSupportedWhenGettingImagePropertiesThenZeroValuesAreReturned) {
1071+ DriverHandleImp driverHandle{};
1072+ NEO::MockDevice *neoDevice = (NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(NEO::defaultHwInfo.get (), 0 ));
1073+ auto device = std::unique_ptr<L0::Device>(Device::create (&driverHandle, neoDevice, 1 , false ));
1074+ DeviceInfo &deviceInfo = neoDevice->deviceInfo ;
1075+
1076+ neoDevice->deviceInfo .imageSupport = false ;
1077+ deviceInfo.image2DMaxWidth = 1 ;
1078+ deviceInfo.image2DMaxHeight = 2 ;
1079+ deviceInfo.image3DMaxDepth = 3 ;
1080+ deviceInfo.imageMaxBufferSize = 4 ;
1081+ deviceInfo.imageMaxArraySize = 5 ;
1082+ deviceInfo.maxSamplers = 6 ;
1083+ deviceInfo.maxReadImageArgs = 7 ;
1084+ deviceInfo.maxWriteImageArgs = 8 ;
1085+
1086+ ze_device_image_properties_t properties{};
1087+ ze_result_t result = zeDeviceGetImageProperties (device->toHandle (), &properties);
1088+ EXPECT_EQ (ZE_RESULT_SUCCESS, result);
1089+ EXPECT_EQ (0u , properties.maxImageDims1D );
1090+ EXPECT_EQ (0u , properties.maxImageDims2D );
1091+ EXPECT_EQ (0u , properties.maxImageDims3D );
1092+ EXPECT_EQ (0u , properties.maxImageBufferSize );
1093+ EXPECT_EQ (0u , properties.maxImageArraySlices );
1094+ EXPECT_EQ (0u , properties.maxSamplers );
1095+ EXPECT_EQ (0u , properties.maxReadImageArgs );
1096+ EXPECT_EQ (0u , properties.maxWriteImageArgs );
1097+ }
1098+
10411099} // namespace ult
10421100} // namespace L0
0 commit comments