core(ocl): Don't query image formats when none exist

clGetSupportedImageFormats returns CL_INVALID_VALUE if called with
num_entries 0 and a non-NULL image_formats pointer so let's not do that.
pull/16723/head
Jan Solanti 5 years ago
parent da6ad1c640
commit ad16c243ca
  1. 3
      modules/core/src/ocl.cpp

@ -6445,6 +6445,8 @@ struct Image2D::Impl
CL_MEM_OBJECT_IMAGE2D, numFormats, CL_MEM_OBJECT_IMAGE2D, numFormats,
NULL, &numFormats); NULL, &numFormats);
CV_OCL_DBG_CHECK_RESULT(err, "clGetSupportedImageFormats(CL_MEM_OBJECT_IMAGE2D, NULL)"); CV_OCL_DBG_CHECK_RESULT(err, "clGetSupportedImageFormats(CL_MEM_OBJECT_IMAGE2D, NULL)");
if (numFormats > 0)
{
AutoBuffer<cl_image_format> formats(numFormats); AutoBuffer<cl_image_format> formats(numFormats);
err = clGetSupportedImageFormats(context, CL_MEM_READ_WRITE, err = clGetSupportedImageFormats(context, CL_MEM_READ_WRITE,
CL_MEM_OBJECT_IMAGE2D, numFormats, CL_MEM_OBJECT_IMAGE2D, numFormats,
@ -6457,6 +6459,7 @@ struct Image2D::Impl
return true; return true;
} }
} }
}
return false; return false;
} }

Loading…
Cancel
Save