mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Fix for number of used planes in libVA extended formats
Change-Id: I640b5f4d40e41363c793e2995cbf4a8594d655e9
This commit is contained in:
@ -165,7 +165,7 @@ bool VASurface::validate(cl_mem_flags flags, cl_uint plane) {
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
if (plane > 1) {
|
||||
if (plane > 1 && !DebugManager.flags.EnableExtendedVaFormats.get()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -288,6 +288,28 @@ TEST_F(VaSharingTests, givenInvalidPlaneInputWhenVaSurfaceIsCreatedThenInvalidVa
|
||||
EXPECT_EQ(CL_INVALID_VALUE, errCode);
|
||||
}
|
||||
|
||||
TEST_F(VaSharingTests, givenValidPlaneInputWhenVaSurfaceIsCreatedAndDebugFlagEnabledThenCLSuccessIsReturned) {
|
||||
DebugManagerStateRestore restore;
|
||||
DebugManager.flags.EnableExtendedVaFormats.set(true);
|
||||
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.fourcc = VA_FOURCC_RGBP;
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.objects[1] = {8, 98304, I915_FORMAT_MOD_Y_TILED};
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.objects[2] = {8, 98304, I915_FORMAT_MOD_Y_TILED};
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.num_layers = 3;
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.layers[1] = {DRM_FORMAT_R8, 1, {}, {0, 0, 0, 0}, {256, 0, 0, 0}};
|
||||
vaSharing->sharingFunctions.mockVaSurfaceDesc.layers[2] = {DRM_FORMAT_R8, 1, {}, {0, 0, 0, 0}, {256, 0, 0, 0}};
|
||||
|
||||
vaSharing->sharingFunctions.derivedImageFormatBpp = 8;
|
||||
vaSharing->sharingFunctions.derivedImageFormatFourCC = VA_FOURCC_RGBP;
|
||||
|
||||
sharedClMem = clCreateFromVA_APIMediaSurfaceINTEL(&context, CL_MEM_READ_WRITE, &vaSurfaceId, 2, &errCode);
|
||||
EXPECT_NE(nullptr, sharedClMem);
|
||||
EXPECT_EQ(CL_SUCCESS, errCode);
|
||||
|
||||
errCode = clReleaseMemObject(sharedClMem);
|
||||
EXPECT_EQ(CL_SUCCESS, errCode);
|
||||
}
|
||||
|
||||
TEST_F(VaSharingTests, givenMockVaWhenVaSurfaceIsCreatedWithNotAlignedWidthAndHeightThenSurfaceOffsetsUseAlignedValues) {
|
||||
vaSharing->sharingFunctions.derivedImageWidth = 256 + 16;
|
||||
vaSharing->sharingFunctions.derivedImageHeight = 512 + 16;
|
||||
|
Reference in New Issue
Block a user