As of driver version 522.25, I am seeing a new problem with a program that uses Shader Model 6.6 HLSL dynamic resources with D3D12. There are flickering artifacts when copying from an intermediate resource. It seems like it’s behaving as if there’s a missing resource barrier. I’ve attached a minimal reproduction both as a release binary and as a complete Visual Studio 2019 project. There are more details in the included project readme.
Graphics Hardware Tested
- RTX 3070
- RTX 3080 10GB
- RTX 3080 Ti
Driver Versions Confirmed Showing Problem
- 522.25
- 526.47
- 526.86
Driver Versions Confirmed NOT Showing Problem
- 517.48
Steps to reproduce:
- Install driver 522.25 or higher
- Unzip hlsl-dynamic-resource-bug-bin.zip and run Project.exe
- Wait a moment and observe flickering triangle. The expected output is a solid triangle with no flickering.
To use the source project, unzip hlsl-dynamic-resource-bug-source.zip. There is a readme included with instructions and more information about the code. Within the project, it’s possible to do an A/B comparison of using a descriptor table vs HLSL dynamic resources, where the former does not present any issue. I believe the behavior should be identical, as was the case with driver version 517.48 (and presumably earlier).
NVIDIA System Information 11-12-2022 11-28-18.txt (3.6 KB)
hlsl-dynamic-resource-bug-bin.zip (13.4 MB)
hlsl-dynamic-resource-bug-source.zip (8.9 MB)