Our current ray tracing implementation supports OptiX 6.0.0, but has issues when working with OptiX 6.6.1. In order to give the users - lets call them U - of our raytracing implementation the possibility to choose the graphic card driver they want, but on the same time developers like me - lets call them D - time to fix the issue, I wondered, whether and how the OptiX version could be fixed.
We already provide the necessary dlls for OptiX 6.0.0.
U(ser) system: Windows 10 pro version 1909 OS build 18363.592, 441.66, RTX 2070 - wants to use OptiX 6.6.1 and our ray tracing implementation does not work (yet); going back to other older graphics drivers is prohibited by the system
D(eveloper) system: Windows 10 pro version 1903 OS build 18362.387, 419.17, RTX4000 - uses OptiX 6.0.0
Right, there exists only one OptiX 6 core implementation inside the driver. The OptiX 6 API is upward compatible. Means although you used the OptiX SDK 6.0.0 to develop the program it will run on the OptiX 6.x version supported by the driver.
For OptiX 7 this is similar. There the OPTIX_ABI_VERSION of the OptiX 7 SDK you compiled against defines which entry point function table is returned. Means older applications keep running on newer drivers. That doesn’t mean there are multiple core implementations either, just different feature sets.
Applications written against a specific OptiX versions, will require a minimum display driver version, which has always been the case.
Any details about your issues?
If something is not working in a driver, the fix needs to happen inside a future driver. The only thing which will help to solve that is filing bug reports. This is not different than with any other API (OpenGL, Vulkan, DX, CUDA, etc.). There can always be new issues or changes in behavior by fixes between driver releases which affect applications, and although the QA process is enormous it can only catch what it knows about.
When developing a commercial graphics application it’s recommended to test the newest available display drivers as soon as possible.
Note that the 419.17 display drivers are a year old. As a developer you’re missing out on any fixes and optimizations which happened since then.
Thank you for your timely response and excuse me for getting back to you only now!
A little bit of context: In order to ensure full functionality, we need to test our products when updating the graphics drivers. Therefore such an update results in relevant testing efforts (and thus costs). This means for us as developers, that we try to keep our implementation on the one side working for the driver(s) in our products, but on the other side profit from the newest changes in OptiX. This balancing act was the motivation for the last post.
I understand and agree, that our implementation should always work with all graphics drivers and OptiX versions.
We are currently further investigating the issue and we will file a bug report if we realize that this is not related to errors in our personal implementation!