@@ -291,17 +291,19 @@ TEST_F(VaSharingTests, givenSupportedFourccFormatWhenIsSupportedPlanarFormatThen
291291
292292TEST_F (VaSharingTests, givenSupportedPackedFormatWhenIsSupportedPlanarFormatThenFailIsReturned) {
293293 EXPECT_FALSE (VASurface::isSupportedPlanarFormat (VA_FOURCC_YUY2));
294+ EXPECT_FALSE (VASurface::isSupportedPlanarFormat (VA_FOURCC_Y210));
294295}
295296
296297TEST_F (VaSharingTests, givenSupportedFourccFormatWhenIsSupportedPackedFormatThenSuccessIsReturned) {
297298 EXPECT_TRUE (VASurface::isSupportedPackedFormat (VA_FOURCC_YUY2));
299+ EXPECT_TRUE (VASurface::isSupportedPackedFormat (VA_FOURCC_Y210));
298300}
299301
300302TEST_F (VaSharingTests, givenSupportedPlanarFormatWhenIsSupportedPackedFormatThenFailIsReturned) {
301303 EXPECT_FALSE (VASurface::isSupportedPackedFormat (VA_FOURCC_NV12));
302304}
303305
304- TEST_F (VaSharingTests, givenValidSurfaceWhenGetSurfaceDescriptionThenCLSuccessIsReturnedAndDataAreSet ) {
306+ TEST_F (VaSharingTests, givenValidYUY2SurfaceWhenGetSurfaceDescriptionThenCLSuccessIsReturnedAndDataAreSet ) {
305307 DebugManagerStateRestore restore;
306308 DebugManager.flags .EnableExtendedVaFormats .set (true );
307309 vaSharing->sharingFunctions .haveExportSurfaceHandle = true ;
@@ -324,7 +326,30 @@ TEST_F(VaSharingTests, givenValidSurfaceWhenGetSurfaceDescriptionThenCLSuccessIs
324326 EXPECT_FALSE (surfaceInfo.imgInfo .linearStorage );
325327}
326328
327- TEST_F (VaSharingTests, givenValidSurfaceWithInvalidPlaneNumberWhenGetSurfaceDescriptionThenFailIsReturned) {
329+ TEST_F (VaSharingTests, givenValidY210SurfaceWhenGetSurfaceDescriptionThenCLSuccessIsReturnedAndDataAreSet) {
330+ DebugManagerStateRestore restore;
331+ DebugManager.flags .EnableExtendedVaFormats .set (true );
332+ vaSharing->sharingFunctions .haveExportSurfaceHandle = true ;
333+
334+ vaSharing->sharingFunctions .mockVaSurfaceDesc .fourcc = VA_FOURCC_Y210;
335+ vaSharing->sharingFunctions .mockVaSurfaceDesc .objects [0 ] = {8 , 98304 , I915_FORMAT_MOD_Y_TILED};
336+ vaSharing->sharingFunctions .mockVaSurfaceDesc .num_layers = 1 ;
337+ vaSharing->sharingFunctions .mockVaSurfaceDesc .layers [0 ] = {DRM_FORMAT_Y210, 1 , {}, {0 , 0 , 0 , 0 }, {256 , 0 , 0 , 0 }};
338+ vaSharing->sharingFunctions .mockVaSurfaceDesc .width = 24 ;
339+ vaSharing->sharingFunctions .mockVaSurfaceDesc .height = 24 ;
340+ vaSharing->sharingFunctions .derivedImageFormatBpp = 32 ;
341+ vaSharing->sharingFunctions .derivedImageFormatFourCC = VA_FOURCC_Y210;
342+
343+ SharedSurfaceInfo surfaceInfo{};
344+ EXPECT_EQ (VA_STATUS_SUCCESS, VASurface::getSurfaceDescription (surfaceInfo, &vaSharing->sharingFunctions , &vaSurfaceId));
345+ EXPECT_EQ (vaSharing->sharingFunctions .mockVaSurfaceDesc .height , surfaceInfo.imgInfo .imgDesc .imageWidth );
346+ EXPECT_EQ (vaSharing->sharingFunctions .mockVaSurfaceDesc .width , surfaceInfo.imgInfo .imgDesc .imageHeight );
347+ EXPECT_EQ (static_cast <uint32_t >(vaSharing->sharingFunctions .mockVaSurfaceDesc .objects [0 ].fd ), surfaceInfo.sharedHandle );
348+ EXPECT_EQ (vaSharing->sharingFunctions .mockVaSurfaceDesc .fourcc , surfaceInfo.imageFourcc );
349+ EXPECT_FALSE (surfaceInfo.imgInfo .linearStorage );
350+ }
351+
352+ TEST_F (VaSharingTests, givenValidYUY2SurfaceWithInvalidPlaneNumberWhenGetSurfaceDescriptionThenFailIsReturned) {
328353 DebugManagerStateRestore restore;
329354 DebugManager.flags .EnableExtendedVaFormats .set (true );
330355 vaSharing->sharingFunctions .haveExportSurfaceHandle = true ;
@@ -343,6 +368,25 @@ TEST_F(VaSharingTests, givenValidSurfaceWithInvalidPlaneNumberWhenGetSurfaceDesc
343368 EXPECT_EQ (VA_STATUS_ERROR_INVALID_PARAMETER, VASurface::getSurfaceDescription (surfaceInfo, &vaSharing->sharingFunctions , &vaSurfaceId));
344369}
345370
371+ TEST_F (VaSharingTests, givenValidY210SurfaceWithInvalidPlaneNumberWhenGetSurfaceDescriptionThenFailIsReturned) {
372+ DebugManagerStateRestore restore;
373+ DebugManager.flags .EnableExtendedVaFormats .set (true );
374+ vaSharing->sharingFunctions .haveExportSurfaceHandle = true ;
375+
376+ vaSharing->sharingFunctions .mockVaSurfaceDesc .fourcc = VA_FOURCC_Y210;
377+ vaSharing->sharingFunctions .mockVaSurfaceDesc .objects [0 ] = {8 , 98304 , I915_FORMAT_MOD_Y_TILED};
378+ vaSharing->sharingFunctions .mockVaSurfaceDesc .num_layers = 1 ;
379+ vaSharing->sharingFunctions .mockVaSurfaceDesc .layers [0 ] = {DRM_FORMAT_Y210, 1 , {}, {0 , 0 , 0 , 0 }, {256 , 0 , 0 , 0 }};
380+ vaSharing->sharingFunctions .mockVaSurfaceDesc .width = 24 ;
381+ vaSharing->sharingFunctions .mockVaSurfaceDesc .height = 24 ;
382+ vaSharing->sharingFunctions .derivedImageFormatBpp = 32 ;
383+ vaSharing->sharingFunctions .derivedImageFormatFourCC = VA_FOURCC_Y210;
384+
385+ SharedSurfaceInfo surfaceInfo{};
386+ surfaceInfo.plane = 1 ;
387+ EXPECT_EQ (VA_STATUS_ERROR_INVALID_PARAMETER, VASurface::getSurfaceDescription (surfaceInfo, &vaSharing->sharingFunctions , &vaSurfaceId));
388+ }
389+
346390TEST_F (VaSharingTests, givenValidPlanarSurfaceWithPlaneSetWhenGetSurfaceDescriptionThenCLSuccessIsReturnedAndDataAreSet) {
347391 DebugManagerStateRestore restore;
348392 DebugManager.flags .EnableExtendedVaFormats .set (true );
@@ -378,7 +422,8 @@ TEST_F(VaSharingTests, givenValidPlanarSurfaceWithPlaneSetWhenGetSurfaceDescript
378422 EXPECT_EQ (surfaceInfo.imageOffset , vaSharing->sharingFunctions .mockVaSurfaceDesc .layers [2 ].offset [0 ]);
379423 EXPECT_EQ (surfaceInfo.imagePitch , vaSharing->sharingFunctions .mockVaSurfaceDesc .layers [2 ].pitch [0 ]);
380424}
381- TEST_F (VaSharingTests, givenValidSurfaceWhenGetSurfaceDescriptionWithDeriveImageThenCLSuccessIsReturnedAndDataAreSet) {
425+
426+ TEST_F (VaSharingTests, givenValidYUY2SurfaceWhenGetSurfaceDescriptionWithDeriveImageThenCLSuccessIsReturnedAndDataAreSet) {
382427 vaSharing->sharingFunctions .derivedImageFormatBpp = 16 ;
383428 vaSharing->sharingFunctions .derivedImageFormatFourCC = VA_FOURCC_YUY2;
384429 vaSharing->sharingFunctions .derivedImageHeight = 24 ;
@@ -391,6 +436,23 @@ TEST_F(VaSharingTests, givenValidSurfaceWhenGetSurfaceDescriptionWithDeriveImage
391436 EXPECT_EQ (static_cast <uint32_t >(vaSharing->sharingFunctions .derivedImageFormatFourCC ), surfaceInfo.imageFourcc );
392437}
393438
439+ TEST_F (VaSharingTests, givenValidY210SurfaceWhenGetSurfaceDescriptionWithDeriveImageThenCLSuccessIsReturnedAndDataAreSet) {
440+ vaSharing->sharingFunctions .derivedImageFormatBpp = 32 ;
441+ vaSharing->sharingFunctions .derivedImageFormatFourCC = VA_FOURCC_Y210;
442+ vaSharing->sharingFunctions .derivedImageHeight = 24 ;
443+ vaSharing->sharingFunctions .derivedImageWidth = 24 ;
444+
445+ SharedSurfaceInfo surfaceInfo{};
446+ EXPECT_EQ (VA_STATUS_SUCCESS, VASurface::getSurfaceDescription (surfaceInfo, &vaSharing->sharingFunctions , &vaSurfaceId));
447+ EXPECT_EQ (vaSharing->sharingFunctions .derivedImageHeight , surfaceInfo.imgInfo .imgDesc .imageWidth );
448+ EXPECT_EQ (vaSharing->sharingFunctions .derivedImageWidth , surfaceInfo.imgInfo .imgDesc .imageHeight );
449+ EXPECT_EQ (static_cast <uint32_t >(vaSharing->sharingFunctions .derivedImageFormatFourCC ), surfaceInfo.imageFourcc );
450+ }
451+
452+ TEST (VASurface, givenSupportedY210PackedFormatWhenCheckingIfSupportedThenSurfaceDescIsReturned) {
453+ EXPECT_NE (nullptr , VASurface::getExtendedSurfaceFormatInfo (VA_FOURCC_Y210));
454+ }
455+
394456TEST_F (VaSharingTests, givenValidSurfaceWithInvalidPlaneNumberWhenGetSurfaceDescriptionWithDeriveImageThenFailIsReturned) {
395457 vaSharing->sharingFunctions .derivedImageFormatBpp = 16 ;
396458 vaSharing->sharingFunctions .derivedImageFormatFourCC = VA_FOURCC_YUY2;
@@ -1111,6 +1173,7 @@ TEST_F(ApiVaSharingTests, givenSupportedImageTypeWhenGettingSupportedVAApiFormat
11111173 supportedFormats.push_back (std::make_unique<VAImageFormat>(VAImageFormat{VA_FOURCC_P010, VA_LSB_FIRST, 0 , 0 , 0 , 0 , 0 , 0 }));
11121174 supportedFormats.push_back (std::make_unique<VAImageFormat>(VAImageFormat{VA_FOURCC_P016, VA_LSB_FIRST, 0 , 0 , 0 , 0 , 0 , 0 }));
11131175 supportedFormats.push_back (std::make_unique<VAImageFormat>(VAImageFormat{VA_FOURCC_YUY2, VA_LSB_FIRST, 0 , 0 , 0 , 0 , 0 , 0 }));
1176+ supportedFormats.push_back (std::make_unique<VAImageFormat>(VAImageFormat{VA_FOURCC_Y210, VA_LSB_FIRST, 0 , 0 , 0 , 0 , 0 , 0 }));
11141177
11151178 for (auto flag : flags) {
11161179
@@ -1126,7 +1189,7 @@ TEST_F(ApiVaSharingTests, givenSupportedImageTypeWhenGettingSupportedVAApiFormat
11261189 &numImageFormats);
11271190
11281191 EXPECT_EQ (CL_SUCCESS, result);
1129- EXPECT_EQ (4u , numImageFormats);
1192+ EXPECT_EQ (5u , numImageFormats);
11301193 int i = 0 ;
11311194 for (auto &format : supportedFormats) {
11321195 EXPECT_EQ (format->fourcc , vaApiFormats[i++].fourcc );
@@ -1152,7 +1215,7 @@ TEST_F(ApiVaSharingTests, givenZeroNumEntriesWhenGettingSupportedVAApiFormatsThe
11521215 &numImageFormats);
11531216
11541217 EXPECT_EQ (CL_SUCCESS, result);
1155- EXPECT_EQ (4u , numImageFormats);
1218+ EXPECT_EQ (5u , numImageFormats);
11561219 }
11571220}
11581221
0 commit comments