alipbcs / ZetaRay

Real-time Direct3D 12 path tracer
MIT License
223 stars 4 forks source link

Fatal error: PipelineStateLibrary.cpp: 146 --- When switching from TAA to FSR2 back and forth #11

Closed TomClabault closed 1 month ago

TomClabault commented 1 month ago

I'm getting a fatal error when switching between TAA et FSR2 two times. I can reproduce it everytime.

Steps to reproduce:

image

alipbcs commented 1 month ago

I can't repoduce this on two different systems. I switched many times between TAA and FSR2 and it didn't crash.

Seems like another hardware-specific issue. Would it be possible for you to test on a different system?

TomClabault commented 1 month ago

I don't have another hardware-ray-tracing capable system unfortunately.

D3D12 NVIDIA drivers don't have a software ray tracing fallback in case the GPU doesn't have hardware ray-tracing right?

alipbcs commented 1 month ago

D3D12 has a ray tracing fallback layer, but it's not maintained anymore and requires linking with separate libraries.

alipbcs commented 1 month ago

I think I figured out the issue with this one. Could you pull the latest commit and give it another try?

TomClabault commented 1 month ago

Yep, looks like it's working now!

TomClabault commented 1 month ago

Just curious, why was it not happening on your side? How was it hardware specific?

alipbcs commented 1 month ago

I cache the compiled shaders on disk to speed up subsequesnt runs. This issue only occured when the cache wasn't found on disk and I happened to have a cache from prior runs. Once I manually deleted the cache, I was able to reproduce the bug. It wasn't hardware specific.