NVIDIAGameWorks / Streamline

Streamline Integration Framework
Other
377 stars 79 forks source link

[Vulkan] Error: descriptor not initialised #30

Closed Bizzarrus closed 3 months ago

Bizzarrus commented 6 months ago

Hi :) I'm trying to integrate Streamline into our Vulkan rendering engine, and when calling EvaluateFeature(kFeatureNIS), I get a vulkan validation error (or just a device lost, if the validation layer is not enabled), saying that the descriptor 0/0 (the NIS constant buffer, from what I can see?) has not been initialised with vkUpdateDescriptorSets. This doesn't seem to happen every time I call EvaluateFeature, but it happens often.

I managed to locally fix the issue by setting needsUpdate to true in Vulkan::processDescriptors, which effectively causes vkUpdateDescripotrSets to be called with every dispatch. Obviously, that's a bit wasteful, but I'm not familiar enough with the Streamline code base, to figure out, what is the proper fix/at which condition the regular needUpdate check fails.