I’ve successfully integrated the optix denoiser into my raytracer on Windows 10, when I try the same code on OSX I get this exception when I call the execute function.
Error code : RT_ERROR_UNKNOWN
Error string : “Unknown error (Details: Function "RTresult _rtCommandListExecute(RTcommandlist)" caught exception: Assertion failed: "m_launching : Memory manager released while launch not active", file: /Users/umber/workspace/rel5.0-mac64-cuda90-build-Release/sw/wsapps/raytracing/rtsdk/rel5.0/src/Memory/MemoryManager.cpp, line: 998)”
Optix 5.0.1, CUDA 9.1
Machine specs :
OSX High Sierra 10.13.4
NVIDIA GeForce GT 750M 2048 MB
NVIDIA Web Driver 387.10.10.10.30.106
CUDA 387.178
I’m launching it with a 640x480 size, I create 1 x float3 buffer, 2 x float4 buffers and one uchar4 buffer which I calculate to be around 14meg in total, no real system stress.
In my command list I perform a launch2D which performs a gamma correction and a conversion from the float3 to float4 buffer, the next stage is the denoiser then finally I launch2D which colour corrects and does a simple conversion to the uchar4 buffer.
I’ve tried this on the same machine on windows 10 (dual boot mac book pro) and it works fine.
Just fixed it, it didn’t like me including the second launch within the command list.
If I remove the colour correction launch from the command list, then just launch the colour correction after the commandlist has executed, everything works fine.
I think having 2 launch2D in a command list should be valid, seems like a bug in OSX optix.