I’m writing a program, where multiple OptiX pipelines are created.
The second pipeline creation failed with non-descriptive error message: COMPILE ERROR: failed to create pipeline.
I had investigated what causes this error and what can workaround this error, and found that setting OptixPipelineCompileOptions::numPayloadValues of the second pipeline to the number for the first pipeline removed the error for some reason.
I created a decently minimized reproducer (VS2022, CUDA 11.6 Update 2, OptiX 7.4):
(While this uses my wrapper library for OptiX, but hope it seems thin enough)
This repro creates two pipelines at the lines 174-175 in restir_main.cpp and fails to create the second pipeline at the line 175.
The issue disappeared when
reversing the order of pipeline creations or
setting the payload size to the one for the other pipeline (see the line 121)
, but I’m not convinced why the second pipeline fails to be compiled without these changes.
Note that I needed to clear OptiX cache before the experiment to properly reproduce the issue.
This issue is possibly related to the following but I’m not sure:
Does payload size setting in a pipeline affect that of another pipeline? Or do I do something wrong?
OptiX 7.4.0, CUDA 11.6 Update 2
RTX 3080 10GB
Windows 10 21H2 19044.1645
Thank you for the reproducer. I can test this against an upcoming driver to see if the 511 driver problem is related, and whether new drivers will fix this. I didn’t have time today, but we will try your repro this week. I just wanted to acknowledge your question and let you know we’ll get to it very soon.
Hi there, sorry it took longer than expected to get to this. I tested your VS 2019 repro, and I was able to reproduce the problem with a 510 driver. I tried the upcoming 515 Windows driver, and could no longer reproduce the problem. So I think this is going to be fixed for you as soon as the 515 driver is released on Windows, which should be pretty soon I think, maybe by the end of the month.