@@ -83,16 +83,34 @@ TEST_F(clCreateContextTests, GivenNullUserDataWhenCreatingContextThenContextIsCr
8383 EXPECT_EQ (CL_SUCCESS, retVal);
8484}
8585
86- TEST_F (clCreateContextTests, givenMultipleRootDevicesWhenCreateContextThenOutOrHostMemoryErrorIsReturned ) {
86+ TEST_F (clCreateContextTests, givenMultipleRootDevicesWithoutSubDevicesWhenCreatingContextThenContextIsCreated ) {
8787 UltClDeviceFactory deviceFactory{2 , 0 };
8888 cl_device_id devices[] = {deviceFactory.rootDevices [0 ], deviceFactory.rootDevices [1 ]};
8989 auto context = clCreateContext (nullptr , 2u , devices, eventCallBack, nullptr , &retVal);
90+ EXPECT_NE (nullptr , context);
91+ EXPECT_EQ (CL_SUCCESS, retVal);
92+ clReleaseContext (context);
93+ }
94+
95+ TEST_F (clCreateContextTests, givenMultipleSubDevicesFromDifferentRootDevicesWhenCreatingContextThenContextIsCreated) {
96+ UltClDeviceFactory deviceFactory{2 , 2 };
97+ cl_device_id devices[] = {deviceFactory.subDevices [0 ], deviceFactory.subDevices [1 ], deviceFactory.subDevices [2 ], deviceFactory.subDevices [3 ]};
98+ auto context = clCreateContext (nullptr , 4u , devices, eventCallBack, nullptr , &retVal);
99+ EXPECT_NE (nullptr , context);
100+ EXPECT_EQ (CL_SUCCESS, retVal);
101+ clReleaseContext (context);
102+ }
103+
104+ TEST_F (clCreateContextTests, givenMultipleRootDevicesWithSubDevicesWhenCreatingContextThenOutOfHostMemoryErrorIsReturned) {
105+ UltClDeviceFactory deviceFactory{2 , 2 };
106+ cl_device_id devices[] = {deviceFactory.rootDevices [0 ], deviceFactory.rootDevices [1 ]};
107+ auto context = clCreateContext (nullptr , 2u , devices, eventCallBack, nullptr , &retVal);
90108 EXPECT_EQ (nullptr , context);
91109 EXPECT_EQ (CL_OUT_OF_HOST_MEMORY, retVal);
92110}
93111
94- TEST_F (clCreateContextTests, givenEnabledMultipleRootDeviceSupportWhenCreateContextWithMultipleRootDevicesThenContextIsCreated ) {
95- UltClDeviceFactory deviceFactory{2 , 0 };
112+ TEST_F (clCreateContextTests, givenEnabledMultipleRootDeviceSupportWhenCreateContextWithMultipleRootDevicesWithSubDevicesThenContextIsCreated ) {
113+ UltClDeviceFactory deviceFactory{2 , 2 };
96114 DebugManager.flags .EnableMultiRootDeviceContexts .set (true );
97115 cl_device_id devices[] = {deviceFactory.rootDevices [0 ], deviceFactory.rootDevices [1 ]};
98116 auto context = clCreateContext (nullptr , 2u , devices, eventCallBack, nullptr , &retVal);
0 commit comments