Page MenuHome

Cycles GPU Compute fails on AMD Vega 64 ROCm with kernel compilation errors
Closed, InvalidPublicKNOWN ISSUE

Description

System Information
Operating system: Linux-5.2.0-0.bpo.2-amd64-x86_64-with-debian-10.2 64 Bits
Graphics card: Radeon RX Vega (VEGA10, DRM 3.32.0, 5.2.0-0.bpo.2-amd64, LLVM 7.0.1) X.Org 4.5 (Core Profile) Mesa 18.3.6

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2019-12-26 19:15, hash: rBd35a31968707
Worked: (optional)

Short description of error
Rendering in Cycles with OpenCL fails with shader compilation errors.

Exact steps for others to reproduce the error

  1. Open Blender
  2. Select OpenCL devices in Preferences
  3. Change render engine to "Cycles"
  4. Change device to "GPU Compute"
  5. Render image

Complete log:

Read prefs: /home/richard/.config/blender/2.82/config/userpref.blend
/run/user/1000/gvfs/ non-existent directory
found bundled python: /home/richard/Downloads/blender-2.82-d35a31968707-linux-glibc217-x86_64/2.82/python
Cycles: compiling OpenCL program background...
Cycles: compiling OpenCL program background...
OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program background build output: /tmp/comgr-d7ec12/input/CompileSource:100145:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100174:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100177:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:100053:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100278:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100307:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100310:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:100053:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100412:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100441:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100444:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:100053:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100537:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:100014:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:100540:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:100053:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:101459:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101389:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d7ec12/input/CompileSource:101488:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101416:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d7ec12/input/CompileSource:101490:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101416:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d7ec12/input/CompileSource:101679:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-d7ec12/input/CompileSource:101438:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:101878:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-d7ec12/input/CompileSource:101389:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d7ec12/input/CompileSource:101879:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101389:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d7ec12/input/CompileSource:101892:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-d7ec12/input/CompileSource:101543:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-d7ec12/input/CompileSource:101917:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101416:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d7ec12/input/CompileSource:101919:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-d7ec12/input/CompileSource:101416:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d7ec12/input/CompileSource:125202:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-d7ec12/input/CompileSource:123857:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d7ec12/input/CompileSource:126553:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-d7ec12/input/CompileSource:123857:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d7ec12/input/CompileSource:137602:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-d7ec12/input/CompileSource:123857:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d7ec12/input/CompileSource:139132:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-d7ec12/input/CompileSource:123857:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d7ec12/input/CompileSource:170080:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-d7ec12/input/CompileSource:99732:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-d7ec12/input/CompileSource:170082:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-d7ec12/input/CompileSource:101438:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178140:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178174:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178194:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178216:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178330:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d7ec12/input/CompileSource:178352:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-d7ec12/input/CompileSource:178089:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

Cycles: compiling OpenCL program split_subsurface_scatter...
Cycles: compiling OpenCL program split_shadow_blocked_dl...
Cycles: compiling OpenCL program split_shadow_blocked_ao...
Cycles: compiling OpenCL program split_holdout_emission_blurring_pathtermination_ao...
Cycles: compiling OpenCL program split_lamp_emission...
Cycles: compiling OpenCL program split_direct_lighting...
Cycles: compiling OpenCL program split_indirect_background...
Cycles: compiling OpenCL program split_shader_eval...
Cycles: compiling OpenCL program split_bundle...
Cycles: compiling OpenCL program split_subsurface_scatter...
Cycles: compiling OpenCL program split_direct_lighting...
Cycles: compiling OpenCL program split_shadow_blocked_dl...
Cycles: compiling OpenCL program split_indirect_background...
Cycles: compiling OpenCL program split_shadow_blocked_ao...
Cycles: compiling OpenCL program split_lamp_emission...
Cycles: compiling OpenCL program split_shader_eval...
Cycles: compiling OpenCL program split_holdout_emission_blurring_pathtermination_ao...
Cycles: compiling OpenCL program split_bundle...
OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_subsurface_scatter build output: /tmp/comgr-d5e691/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d5e691/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d5e691/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-d5e691/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-d5e691/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-d5e691/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d5e691/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d5e691/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d5e691/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-d5e691/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-d5e691/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d5e691/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-d5e691/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-d5e691/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-d5e691/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d5e691/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-d5e691/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-d5e691/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-d5e691/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d5e691/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-d5e691/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d5e691/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-d5e691/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d5e691/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-d5e691/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-d5e691/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-d5e691/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-d5e691/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-d5e691/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-d5e691/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-d5e691/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_bundle build output: /tmp/comgr-2c5033/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-2c5033/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-2c5033/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-2c5033/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-2c5033/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-2c5033/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-2c5033/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-2c5033/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-2c5033/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-2c5033/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-2c5033/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-2c5033/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-2c5033/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-2c5033/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-2c5033/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-2c5033/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-2c5033/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-2c5033/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-2c5033/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-2c5033/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-2c5033/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-2c5033/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-2c5033/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-2c5033/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-2c5033/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-2c5033/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-2c5033/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-2c5033/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-2c5033/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-2c5033/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-2c5033/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_holdout_emission_blurring_pathtermination_ao build output: /tmp/comgr-c0ca5b/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-c0ca5b/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-c0ca5b/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-c0ca5b/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-c0ca5b/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-c0ca5b/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-c0ca5b/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-c0ca5b/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-c0ca5b/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-c0ca5b/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-c0ca5b/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-c0ca5b/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-c0ca5b/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-c0ca5b/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-c0ca5b/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-c0ca5b/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-c0ca5b/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-c0ca5b/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-c0ca5b/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-c0ca5b/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-c0ca5b/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-c0ca5b/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-c0ca5b/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-c0ca5b/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-c0ca5b/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_shader_eval build output: /tmp/comgr-8afb65/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8afb65/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8afb65/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8afb65/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8afb65/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8afb65/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8afb65/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8afb65/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8afb65/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-8afb65/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-8afb65/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8afb65/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8afb65/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-8afb65/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-8afb65/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8afb65/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-8afb65/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8afb65/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-8afb65/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8afb65/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-8afb65/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8afb65/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-8afb65/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8afb65/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-8afb65/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8afb65/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-8afb65/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-8afb65/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-8afb65/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8afb65/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-8afb65/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_lamp_emission build output: /tmp/comgr-b4b747/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-b4b747/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-b4b747/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-b4b747/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-b4b747/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-b4b747/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-b4b747/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-b4b747/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-b4b747/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-b4b747/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-b4b747/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-b4b747/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-b4b747/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-b4b747/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-b4b747/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-b4b747/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-b4b747/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-b4b747/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-b4b747/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-b4b747/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-b4b747/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-b4b747/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-b4b747/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-b4b747/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-b4b747/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-b4b747/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-b4b747/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-b4b747/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-b4b747/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-b4b747/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-b4b747/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_shadow_blocked_ao build output: /tmp/comgr-8da079/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8da079/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8da079/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8da079/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-8da079/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-8da079/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-8da079/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-8da079/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8da079/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8da079/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-8da079/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8da079/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-8da079/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-8da079/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8da079/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-8da079/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-8da079/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-8da079/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-8da079/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-8da079/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8da079/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-8da079/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-8da079/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-8da079/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8da079/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-8da079/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8da079/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-8da079/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8da079/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-8da079/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-8da079/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-8da079/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-8da079/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-8da079/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-8da079/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-8da079/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_indirect_background build output: /tmp/comgr-5df02a/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-5df02a/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-5df02a/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-5df02a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-5df02a/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-5df02a/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-5df02a/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-5df02a/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-5df02a/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-5df02a/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-5df02a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-5df02a/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-5df02a/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-5df02a/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-5df02a/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-5df02a/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-5df02a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-5df02a/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-5df02a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-5df02a/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-5df02a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-5df02a/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-5df02a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-5df02a/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-5df02a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-5df02a/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-5df02a/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-5df02a/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-5df02a/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-5df02a/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-5df02a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_shadow_blocked_dl build output: /tmp/comgr-3fabc4/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3fabc4/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3fabc4/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3fabc4/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-3fabc4/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-3fabc4/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3fabc4/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3fabc4/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-3fabc4/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-3fabc4/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3fabc4/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-3fabc4/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3fabc4/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-3fabc4/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3fabc4/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-3fabc4/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3fabc4/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-3fabc4/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3fabc4/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-3fabc4/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3fabc4/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-3fabc4/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-3fabc4/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-3fabc4/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3fabc4/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-3fabc4/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
OpenCL program split_direct_lighting build output: /tmp/comgr-3bb89a/input/CompileSource:101715:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101744:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101747:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101848:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101877:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101880:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:101982:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:102011:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:102014:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:102107:36: error: passing 'float2 *' to parameter of type 'float2 *' changes address space of pointer
    subd_triangle_patch_uv(kg, sd, uv);
                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:101584:54: note: passing argument to parameter 'uv' here
                                              float2 uv[3])
                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:102110:44: error: passing 'int *' to parameter of type 'int *' changes address space of pointer
    subd_triangle_patch_corners(kg, patch, corners);
                                           ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:101623:86: note: passing argument to parameter 'corners' here
ccl_device_inline void subd_triangle_patch_corners(KernelGlobals *kg, int patch, int corners[4])
                                                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:103029:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3bb89a/input/CompileSource:103058:86: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                     ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3bb89a/input/CompileSource:103060:61: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                            ^~~~~~~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3bb89a/input/CompileSource:103249:53: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_vertices(kg, fobject, prim, time, verts);
                                                    ^~~~~
/tmp/comgr-3bb89a/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:103448:84: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step, verts);
                                                                                   ^~~~~
/tmp/comgr-3bb89a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3bb89a/input/CompileSource:103449:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  motion_triangle_verts_for_step(kg, tri_vindex, offset, numverts, numsteps, step + 1, next_verts);
                                                                                       ^~~~~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102959:62: note: passing argument to parameter 'verts' here
                                                      float3 verts[3])
                                                             ^
/tmp/comgr-3bb89a/input/CompileSource:103462:56: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    sd->P = motion_triangle_refine(kg, sd, isect, ray, verts);
                                                       ^~~~~
/tmp/comgr-3bb89a/input/CompileSource:103113:90: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float3 verts[3])
                                                                                         ^
/tmp/comgr-3bb89a/input/CompileSource:103487:88: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
    motion_triangle_normals_for_step(kg, tri_vindex, offset, numverts, numsteps, step, normals);
                                                                                       ^~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3bb89a/input/CompileSource:103489:63: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        kg, tri_vindex, offset, numverts, numsteps, step + 1, next_normals);
                                                              ^~~~~~~~~~~~
/tmp/comgr-3bb89a/input/CompileSource:102986:64: note: passing argument to parameter 'normals' here
                                                        float3 normals[3])
                                                               ^
/tmp/comgr-3bb89a/input/CompileSource:126772:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-3bb89a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3bb89a/input/CompileSource:128123:42: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                         dist);
                                         ^~~~
/tmp/comgr-3bb89a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3bb89a/input/CompileSource:139172:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-3bb89a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3bb89a/input/CompileSource:140702:40: error: passing 'float *' to parameter of type 'float *' changes address space of pointer
                                       dist);
                                       ^~~~
/tmp/comgr-3bb89a/input/CompileSource:125427:61: note: passing argument to parameter 'dist' here
                                                      float dist[2])
                                                            ^
/tmp/comgr-3bb89a/input/CompileSource:171650:39: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_vertices(kg, sd->prim, Co);
                                      ^~
/tmp/comgr-3bb89a/input/CompileSource:101302:78: note: passing argument to parameter 'P' here
ccl_device_inline void triangle_vertices(KernelGlobals *kg, int prim, float3 P[3])
                                                                             ^
/tmp/comgr-3bb89a/input/CompileSource:171652:68: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      motion_triangle_vertices(kg, sd->object, sd->prim, sd->time, Co);
                                                                   ^~
/tmp/comgr-3bb89a/input/CompileSource:103008:65: note: passing argument to parameter 'verts' here
    KernelGlobals *kg, int object, int prim, float time, float3 verts[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179710:87: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, sd->object, sd->prim, sd->time, V);
                                                                                      ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179744:72: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                       ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179764:70: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, sd->object, sd->prim, -1.0f, V);
                                                                     ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179786:75: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
  bool has_motion = triangle_world_space_vertices(kg, object, prim, time, V);
                                                                          ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179900:64: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
        triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                               ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
/tmp/comgr-3bb89a/input/CompileSource:179922:62: error: passing 'float3 *' to parameter of type 'float3 *' changes address space of pointer
      triangle_world_space_vertices(kg, object, prim, -1.0f, V);
                                                             ^
/tmp/comgr-3bb89a/input/CompileSource:179659:65: note: passing argument to parameter 'V' here
    KernelGlobals *kg, int object, int prim, float time, float3 V[3])
                                                                ^
32 errors generated.
Error: Failed to compile opencl source (from CL or HIP source to LLVM IR).

Split kernel error: failed to load kernel_path_init
Error: Split kernel error: failed to load kernel_path_init

Saved session recovery to '/tmp/quit.blend'

Blender quit

Event Timeline

I am also affected by the same bug.

OpenCL rendering failing on Vega56 GPU.

Important information from "System info"

Blender 2.81 (sub 16) System Information

Blender:

version: 2.81 (sub 16), branch: master, commit date: 2019-12-04 11:32, hash: f1aa4d18d49d, type: Release
build date: 2019-12-04, 13:48:07
platform: Linux
build cflags: -Wall -Wcast-align -Werror=implicit-function-declaration -Werror=return-type -Werror=vla -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wformat-signedness -Wnonnull -Wuninitialized -Wredundant-decls -Wshadow -Wno-error=unused-but-set-variable -fuse-ld=gold -std=gnu11 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2 -D_GLIBCXX_USE_CXX11_ABI=0
build cxxflags: -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Werror=return-type -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wundef -Wformat-signedness -Wuninitialized -Wundef -Wmissing-declarations -fuse-ld=gold -std=c++11 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2 -D_GLIBCXX_USE_CXX11_ABI=0
build linkflags: -Wl,--version-script='/home/sources/buildbot-x86_64-slave/linux_glibc217_x86_64_cmake/blender.git/source/creator/blender.map'
build system: CMake

Platform #1
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Version: OpenCL 2.1 AMD-APP (3052.0)
Platform Profile: FULL_PROFILE
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Number of devices: 1

		Device: #0
			Device Name: gfx900
			Device Board Name: Vega 10 XL/XT [Radeon RX Vega 56/64]
			Device Vendor: Advanced Micro Devices, Inc.
			Device OpenCL C Version: OpenCL C 2.0 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 2.0 
			Device Extensions: cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program 
			Device Max clock frequency (MHz): 1590
			Device Max compute units: 56
			Device Max work group size: 256

You should attach a log file instead of dumping the whole output here.

Jeroen Bakker (jbakker) changed the subtype of this task from "Report" to "Known Issue".EditedTue, Jan 14, 2:19 PM

You are using ROCm on top of Mesa. When using Cycles please use ROCm AMD ProDrivers. Looking at the compile errors it seems limitation of the Mesa OpenCL compiler, not a bender issue.

Jeroen Bakker (jbakker) closed this task as Invalid.Tue, Jan 14, 2:21 PM
Jeroen Bakker (jbakker) claimed this task.

Hi @Jeroen Bakker (jbakker), thanks for looking into it! Just for reference, I followed the installation instructions from here https://rocm.github.io/install.html#performing-an-opencl-only-installation-of-rocm to perform an OpenCL-only installation of ROCm. I compiled and ran some OpenCL test programs and they worked without issues, so I falsely assumed it should also work with blender. I'll do as per your recommendation and set it up with the full ROCm AMD Pro drivers.