Fix image type support and flag usage in va api sharing

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak 2021-02-26 12:42:38 +00:00 committed by Compute-Runtime-Automation
parent 68e01dd736
commit e9e78e85ad
2 changed files with 6 additions and 5 deletions

View File

@ -98,12 +98,13 @@ cl_int VASharingFunctions::getSupportedFormats(cl_mem_flags flags,
cl_uint numEntries,
VAImageFormat *formats,
cl_uint *numImageFormats) {
if (flags != CL_MEM_READ_ONLY && flags != CL_MEM_WRITE_ONLY && flags != CL_MEM_READ_WRITE) {
if (flags != CL_MEM_READ_ONLY && flags != CL_MEM_WRITE_ONLY && flags != CL_MEM_READ_WRITE &&
flags != CL_MEM_KERNEL_READ_AND_WRITE) {
return CL_INVALID_VALUE;
}
if (imageType != CL_MEM_OBJECT_IMAGE2D) {
return CL_INVALID_VALUE;
return CL_SUCCESS;
}
if (numImageFormats != nullptr) {

View File

@ -847,8 +847,8 @@ TEST_F(ApiVaSharingTests, givenNullNumImageFormatsWhenGettingSupportedVAApiForma
EXPECT_EQ(CL_SUCCESS, result);
}
TEST_F(ApiVaSharingTests, givenInvalidImageTypeWhenGettingSupportedVAApiFormatsThenIvalidValueErrorIsReturned) {
cl_mem_flags flags = CL_MEM_READ_WRITE;
TEST_F(ApiVaSharingTests, givenOtherThanImage2DImageTypeWhenGettingSupportedVAApiFormatsThenSuccessAndZeroFormatsAreReturned) {
cl_mem_flags flags = CL_MEM_KERNEL_READ_AND_WRITE;
cl_mem_object_type image_type = CL_MEM_OBJECT_IMAGE3D;
VAImageFormat vaApiFormats[10] = {};
cl_uint numImageFormats = 0;
@ -862,7 +862,7 @@ TEST_F(ApiVaSharingTests, givenInvalidImageTypeWhenGettingSupportedVAApiFormatsT
vaApiFormats,
&numImageFormats);
EXPECT_EQ(CL_INVALID_VALUE, result);
EXPECT_EQ(CL_SUCCESS, result);
EXPECT_EQ(0u, numImageFormats);
}