55#include < uur/fixtures.h>
66#include < uur/raii.h>
77
8- using urMemImageCreateTest = uur::urContextTest;
9- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urMemImageCreateTest);
10-
118static ur_image_format_t image_format{UR_IMAGE_CHANNEL_ORDER_RGBA,
129 UR_IMAGE_CHANNEL_TYPE_SIGNED_INT32};
1310
@@ -25,8 +22,52 @@ static ur_image_desc_t image_desc{
2522 0 // /< [in] number of samples
2623};
2724
25+ struct urMemImageCreateTest : public uur ::urContextTest {
26+ void SetUp () override {
27+ UUR_RETURN_ON_FATAL_FAILURE (uur::urContextTest::SetUp ());
28+
29+ ur_mem_handle_t image_handle = nullptr ;
30+ auto ret =
31+ urMemImageCreate (context, UR_MEM_FLAG_READ_WRITE, &image_format,
32+ &image_desc, nullptr , &image_handle);
33+
34+ if (ret == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
35+ GTEST_SKIP () << " urMemImageCreate not supported" ;
36+ }
37+ }
38+
39+ void TearDown () override {
40+ UUR_RETURN_ON_FATAL_FAILURE (uur::urContextTest::TearDown ());
41+ }
42+ };
43+
44+ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urMemImageCreateTest);
45+
46+ template <typename Param>
47+ struct urMemImageCreateTestWithParam
48+ : public uur::urContextTestWithParam<Param> {
49+ void SetUp () override {
50+ UUR_RETURN_ON_FATAL_FAILURE (
51+ uur::urContextTestWithParam<Param>::SetUp ());
52+
53+ ur_mem_handle_t image_handle = nullptr ;
54+ auto ret = urMemImageCreate (this ->context , UR_MEM_FLAG_READ_WRITE,
55+ &image_format, &image_desc, nullptr ,
56+ &image_handle);
57+
58+ if (ret == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
59+ GTEST_SKIP () << " urMemImageCreate not supported" ;
60+ }
61+ }
62+
63+ void TearDown () override {
64+ UUR_RETURN_ON_FATAL_FAILURE (
65+ uur::urContextTestWithParam<Param>::TearDown ());
66+ }
67+ };
68+
2869using urMemImageCreateTestWith1DMemoryTypeParam =
29- uur::urContextTestWithParam <ur_mem_type_t >;
70+ urMemImageCreateTestWithParam <ur_mem_type_t >;
3071
3172UUR_TEST_SUITE_P (urMemImageCreateTestWith1DMemoryTypeParam,
3273 ::testing::Values (UR_MEM_TYPE_IMAGE1D,
@@ -57,7 +98,7 @@ TEST_P(urMemImageCreateTestWith1DMemoryTypeParam, Success) {
5798}
5899
59100using urMemImageCreateTestWith2DMemoryTypeParam =
60- uur::urContextTestWithParam <ur_mem_type_t >;
101+ urMemImageCreateTestWithParam <ur_mem_type_t >;
61102
62103UUR_TEST_SUITE_P (urMemImageCreateTestWith2DMemoryTypeParam,
63104 ::testing::Values (UR_MEM_TYPE_IMAGE2D,
@@ -248,7 +289,7 @@ TEST_P(urMemImageCreateTest, InvalidImageDescSlicePitch) {
248289}
249290
250291using urMemImageCreateWithHostPtrFlagsTest =
251- uur::urContextTestWithParam <ur_mem_flag_t >;
292+ urMemImageCreateTestWithParam <ur_mem_flag_t >;
252293
253294UUR_TEST_SUITE_P (urMemImageCreateWithHostPtrFlagsTest,
254295 ::testing::Values (UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER,
0 commit comments