Search Issue Tracker
Fixed in 2020.1
Fixed in 2019.3
GPU lightmapper doesn't work on Radeon RX 5700
Unfortunately the user reports from the Unity forum about the GPU lightmapper not working on RX5700 turned out to be true. The OpenCL compiler issue below is making it fail.
This appears to be a blocking issue for every Unity user with a RX5700.
The failure happens in LoadOpenCLProgramInternal.
-- GPU Progressive lightmapper will use OpenCL device 'gfx1010' from 'Advanced Micro Devices, Inc.'--
use -OpenCL-PlatformAndDeviceIndices <platformIdx> <deviceIdx> or -OpenCL-ForceCPU as command line arguments if you want to select a specific adapter for OpenCL.
CL Compilation failed for program intersectBvh.cl:
Error: Failed to compile opencl source (from CL to LLVM IR).
OpenCL Error: 'cl_int _err = kernelWrapper.CreateCLKernel(program, name, pvrJobType)' returned -44 (CL_INVALID_PROGRAM)!
OpenCL Error. Falling back to CPU lightmapper. Error callback from context: CL_INVALID_PROGRAM
(Filename: D:\code\unity\Editor/Src/GI/Progressive/OpenCL/OpenCLCheck.cpp Line: 137)
CL Kernel 'intersectWithTransmission' creation failed.
clBuildProgram returns CL_BUILD_PROGRAM_FAILURE and clGetProgramBuildInfo reports Failed to compile opencl source (from CL to LLVM IR).
Using this driver win10-64bit-radeon-software-adrenalin-2019-edition-19.8.2-aug26
This message is printed in the log when it happens, not sure if it is related: shell\osshell\lmui\ntshrui\dll\shrengine.cpp(1487)\ntshrui.dll!00007FFA46D38A3B: (caller: 00007FFA46D6269F) ReturnHr(133) tid(4840) 80004005 Unspecified error
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Terrain inspector is proposing a shader which isn't there
- Warnings are missing when compiling for certain platforms (opengl)
- Scaling problem with PanelSetting set to ScaleWithScreen/Expand
- [Hub] Editor is shown in the "Installing" state indefinitely when the installation fails due to INVALID_DESTINATION error
- IL2CPP: Nested Try-Catch and Throw statement results in incorrect behaviour