- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
-----------------------------------------
System Used: Intel NUC NUC5i5RYH
CPU SKU: i5-5250U
GPU SKU: HD Graphics 6000
Processor Line: Not sure what this is honestly
System BIOS Version: Can check later if relevant
CMOS settings: Can check later if relevant
Graphics Driver Version: 15.40.25.4463
GOP/VBIOS Version: Can check later if relevant
Operating System: Windows
OS Version: Windows 10 64-bit
API: D3D11
Occurs on non-Intel GPUs?: No
Steps to Reproduce:
-------------------------------
1. Create a 2D texture with a typeless depth-stencil format like DXGI_FORMAT_R32G8X24_TYPELESS. Do NOT set D3D11_BIND_DEPTH_STENCIL - only set D3D11_BIND_SHADER_RESOURCE.
2. Create an SRV of the stencil values, in format DXGI_FORMAT_X32_TYPELESS_G8X24_UINT.
3. Copy data into the texture from elsewhere - e.g. another texture that did have the depth-stencil bind flag and was used for rendering.
4. Call PSSetShaderResources to bind the stencil view for reading.
5. Crash occurs inside PSSetShaderResources.
Expected Results:
-------------------------------
No crash and stencil reading via the green channel.
Actual Results:
-------------------------------
Crash on the CPU inside PSSetShaderResources.
Additional Information:
I've attached a sample project which reproduces the bug. The source is fairly stripped down, around ~200 lines without shaders. There's also a pre-compiled exe to run. It follows the repro steps above, and renders to a different depth texture with the BIND_DEPTH_STENCIL flag then copies into the texture for the repro.
At the top of the .cpp there are a couple of toggles you can switch to see where the bug is happening:
- FORCE_WARP is default 0, but set to 1 it will use the WARP renderer. No crash happens, and the rendering is correct (I don't create a window but this can be verified in a graphics debugger if you need to). ADD_BIND_DEPTH_STENCIL
- ADD_BIND_DEPTH_STENCIL will add the D3D11_BIND_DEPTH_STENCIL bind flag onto the texture. This should not be required - the texture is NOT ever bound to depth-stencil, its data is filled via CopyResource. Only BIND_SHADER_RESOURCE should be needed. Note there are no D3D11 debug layer warnings.
btw the code also contains a bug repro for another issue - https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/681614 - so you can ignore the code inside clear_uav_test() I just re-used the same code skeleton for both.
Hopefully this is clear enough - let me know if you need more information.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Baldur,
Issue is reported and I am working wit the driver team. I will update you when I learn more.
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Baldur,
We have a fix for your issue and it should be in the next driver release. We were working on a fix already as internal testing had also found it.
-Michael

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page