Skip to content

minMaxLoc incompatible with some OpenCL implementations #22860

@JoeHowse

Description

@JoeHowse

System Information

OpenCV Python version: 5.0.0-pre (commit d976272)
Operating system / platform: Manjaro on Udoo Bolt v8

Detailed description

On my system, when using UMat input, minMaxLoc outputs the following OpenCL compilation error and then the whole system locks up:

OpenCL program build log: core/minmaxloc
Status -11: CL_BUILD_PROGRAM_FAILURE
-D DEPTH_0 -D srcT1=uchar -D WGS=256 -D srcT=uchar4 -D WGS2_ALIGNED=128 -D DOUBLE_SUPPORT -D HAEV_SRC_CONT -D HAVE_MASK_CONT -D kercn=4 -D NEED_MAXVAL -D dstT1=uchar -D dstT=uchar4 -D convertToDT=noconvert -D wdepth=0 -D convertFromU=noconvert -D MINMAX_STRUCT_ALIGNMENT=8 -D AMD_DEVICE input.cl:8:1: error: OpenCL C version 1.1 does not support the 'static' storage class specifier

Based on the error message, I guess a similar problem would affect all systems running OpenCL 1.1.

Expected behaviour: The function should fall back to a compatible CPU implementation if the system lacks the necessary features for the OpenCL-accelerated implementation.

Steps to reproduce

Run minMaxLoc with UMat input on a system with OpenCL 1.1.

Issue submission checklist

  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
  • I updated to the latest OpenCV version and the issue is still there
  • There is reproducer code and related data files (videos, images, onnx, etc)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions