Page MenuHome

Enabling Compositor OpenCL Throws Bunch of warning in EXR files
Closed, ResolvedPublic

Description

System Information
Operating system: Linux-5.2.0-3-amd64-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: GeForce GTX 950/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.50

Blender Version
Broken: version: 2.81 (sub 15), branch: master, commit date: 2019-10-16 19:56, hash: rB812b30daf582
Worked: (optional)


CLERROR[-11]: CL_BUILD_PROGRAM_FAILURE
<kernel>:29:32: warning: excess elements in scalar initializer
__constant const int zero = {0,0};
                               ^
<kernel>:36:34: warning: excess elements in scalar initializer
        int coords = {get_global_id(0), get_global_id(1)};
                                        ^~~~~~~~~~~~~~~~
<kernel>:39:22: warning: excess elements in scalar initializer
        float color = {0.0f,0.0f,0.0f,0.0f};
                            ^~~~
<kernel>:40:27: warning: excess elements in scalar initializer
        float multiplyer = {0.0f,0.0f,0.0f,0.0f};
                                 ^~~~
<kernel>:46:20: error: call to 'read_imagef' is ambiguous
        tempBoundingBox = read_imagef(boundingBox, SAMPLER_NEAREST, coords).s0;
                          ^~~~~~~~~~~
cl_kernel.h:18570:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, int2 coord);
                        ^
cl_kernel.h:18571:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, float2 coord);
                        ^
<kernel>:59:12: error: call to 'read_imagef' is ambiguous
                        color = read_imagef(inputImage, SAMPLER_NEAREST, imageCoordinates);
                                ^~~~~~~~~~~
cl_kernel.h:18570:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, int2 coord);
                        ^
cl_kernel.h:18571:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, float2 coord);
                        ^
<kernel>:60:15: error: assigning to '__attribute__((address_space(16776963))) float' from incompatible type 'float4'
                        multiplyer = (float4)(1.0f, 1.0f, 1.0f, 1.0f);
                                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<kernel>:63:50: error: member reference base type '__attribute__((address_space(16776963))) int' is not a structure or union
                for (ny = minXY.y, inputXy.y = ny - offsetInput.y ; ny < maxXY.y ; ny += step, inputXy.y += step) {
                                                    ~~~~~~~~~~~^~
<kernel>:64:27: error: member reference base type 'const __attribute__((address_space(16776963))) int' is not a structure or union
                        uv.y = ((realCoordinate.y-ny)/radius2)*bokehImageDim.y+bokehImageCenter.y;
                                 ~~~~~~~~~~~~~~^~
<kernel>:66:51: error: member reference base type '__attribute__((address_space(16776963))) int' is not a structure or union
                        for (nx = minXY.x, inputXy.x = nx - offsetInput.x; nx < maxXY.x ; nx += step, inputXy.x += step) {
                                                            ~~~~~~~~~~~^~
<kernel>:67:28: error: member reference base type 'const __attribute__((address_space(16776963))) int' is not a structure or union
                                uv.x = ((realCoordinate.x-nx)/radius2)*bokehImageDim.x+bokehImageCenter.x;
                                         ~~~~~~~~~~~~~~^~
<kernel>:68:11: error: assigning to '__attribute__((address_space(16776963))) float' from incompatible type 'float4'
                                bokeh = read_imagef(bokehImage, SAMPLER_NEAREST, uv);
                                      ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<kernel>:69:11: error: can't convert between vector values of different size ('__attribute__((address_space(16776963))) float' and 'float __attribute__((ext_vector_type(4)))')
                                color += bokeh * read_imagef(inputImage, SAMPLER_NEAREST, inputXy);
                                ~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<kernel>:76:11: error: call to 'read_imagef' is ambiguous
                color = read_imagef(inputImage, SAMPLER_NEAREST, imageCoordinates);
                        ^~~~~~~~~~~
cl_kernel.h:18570:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, int2 coord);
                        ^
cl_kernel.h:18571:25: note: candidate function
float4 __OVERLOADABLE__ read_imagef(image2d_t image, sampler_t sampler, float2 coord);
                        ^

Exact steps for others to reproduce the error

  • Import the file attached in compositor.
  • Check OpenCL
  • Scrub timeline
  • Terminal throws the warning

Event Timeline

Germano Cavalcante (mano-wii) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

I can confirm.
The error messages appear as soon as you import the image.

@Jeroen Bakker (jbakker), is this your area?
Cc @Sergey Sharybin (sergey)

Steps to get these warnings are:

  • go to compositor tab
  • enable Nodes
  • enable OpenCL
  • ctrl-shift click on render node

any compositor calculation will start compiling the kernel. Seems like the kernel file has been altered and committed untested ( https://developer.blender.org/rB3302fbaeb1d5f58d926c06b6153ec5d6f1a9b0be#change-W0b3GutO79fw )