Search Issue Tracker

Fixed in 2021.1.X

Votes

1

Found in

Issue ID

1293520

Regression

No

[GPU PLM] GPU lightmapper doesn't work on macOS OpenCL CPU devices

Global Illumination

-

How to reproduce:
1) Bake any project with GPU lightmapper using a Mac. The following machines are affected, potentially more:
- Mac mini 2018
- MacBook Pro 2017
2)for example https://github.cds.internal.unity3d.com/unity/lighting.denoiser-tests.
3) Observe the following error when it reaches the GPU baker init:

-- GPU Progressive lightmapper will use OpenCL device 'Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz' from 'Intel'--
OpenCL Error. Falling back to CPU lightmapper. Error callback from context: [CL_INVALID_KERNEL_ARGS] : OpenCL Error : clEnqueueNDRangeKernel failed: kernel_arg 3 has not yet been initialized
OpenCL Error: 'GetBuffer(kRRBuf_expandedTexelsBuffer).EnqueueClearBuffer(openCLState)' returned -52 (CL_INVALID_KERNEL_ARGS)!

-- GPU Progressive lightmapper will use OpenCL device 'Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz' from 'Intel'--
use -OpenCL-PlatformAndDeviceIndices <platformIdx> <deviceIdx> or -OpenCL-ForceCPU as command line arguments if you want to select a specific adapter for OpenCL.
[00:00:01] Enlighten: Finished 1 Create Input Lighting job (0.00s execute, 0.00s integrate, 0.03s wallclock)
Launching external process: /Users/bokken/.Editor/Unity.app/Contents/Tools/JobProcess
[00:00:01] Enlighten: Finished 1 Bake Runtime job (0.01s execute, 0.00s integrate, 0.02s wallclock)
[00:00:01] Enlighten: Bake took 0.052204 seconds.
[PathTracer] Loaded OpenCL shaders in 4.155 secs -> Timestamps: [212.461 - 216.616].OpenCL Error: 'GetBuffer(kRRBuf_expandedTexelsBuffer).EnqueueClearBuffer(openCLState)' returned -52 (CL_INVALID_KERNEL_ARGS)!
OpenCL Error: 'GetBuffer(kRRBuf_expandedTexelsBuffer).EnqueueClearBuffer(openCLState)' returned -52 (CL_INVALID_KERNEL_ARGS)!
OpenCL Error: 'GetBuffer(kRRBuf_expandedTexelsBuffer).EnqueueClearBuffer(openCLState)' returned -52 (CL_INVALID_KERNEL_ARGS)!
OpenCL Error: 'params.openCLState.intersectWithTransmission.EnqueueNDRangeKernel(params.openCLState, 1, NULL, intersection_global_work_size, intersection_local_work_size, 0, NULL, NULL)' returned -54 (CL_INVALID_WORK_GROUP_SIZE)!

See https://yamato.cds.internal.unity3d.com/jobs/1229-lighting.denoiser.tests/tree/master/.yamato%252Fupm-ci_FAST.yml%2523OSX_Metal_editmode_trunk/4179470/job/artifacts for full test run results.

Expected outcome: GPU bake finishes without errors.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.