• Advertisement
Sign in to follow this  

GPU-Based Validation and other D3D12 debug layer improvements

This topic is 589 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement
Never heard of this, sounds useful.

Also, I just tried my D3D12 app on the Anniversary edition and it's reporting a lot of incorrect operations that it missed before. Nice job! Edited by Mona2000

Share this post


Link to post
Share on other sites

Nice tool. But in my application all it reports is premature eviction of its own buffer ('D3D12 Internal GBV Message Log Buffer') somewhere inside ID2DFactory::CreateDevice and ID2D1DeviceContext2::EndDraw.

 

I use DWrite on D2D1Device on D3D11On12Device.


ERROR:d3d12_integration_test::core: ID3D12Device::Evict: CORRUPTION: An ID3D12Resource object (0x0000022D99735350:'D3D12 Internal GBV Message Log Buffer') is referenced by GPU operations in-flight on Command Queue (0x0000022D98277070:'Graphics command queue').  It is not safe to Evict objects that may have GPU operations pending.  This can result in application instability.

Edited by red75prime

Share this post


Link to post
Share on other sites

Yeah, that's an issue we've seen reported before, but I don't think we've been able to reproduce in-house yet. Are you able to provide an application that can hit that issue so we can try to figure out what's going on?

Share this post


Link to post
Share on other sites

Sure. Link to compiled executable https://1drv.ms/u/s!AvWBtQrumRfzhqdM8mM0D31qVhgRqg  

Run with start.cmd. ETA: Program will crash when GBV is enabled as Rust doesn't support structured exceptions. If I use debugger to continue execution, then error messages are shown and errors appear again when I resize window. I recreate all DirectWrite related objects on resize.

 

 

Source code is at https://github.com/red75prime/dxgen/tree/master/src/dxgen/scaffolding

 

Project build steps:

1. Install Windows 10 SDK

2. Install Rust-MSVC 64-bit from https://www.rust-lang.org/

3. Run 'cargo build' or 'cargo build --release' in the project folder using Rust shell

 

 

ETA: The program also crashes when light source is visible while rendering on Microsoft Basic Render Driver. Command line to render on Nth (zero based) adapter is 'd3d_integration_test N'. Crash is caused by integer division-by-zero somewhere inside the driver.

Edited by red75prime

Share this post


Link to post
Share on other sites

Thanks red75prime.

 

We believe we have a fix for this bug internally and will use your repro to confirm.  Thanks for taking the time to help us with this.

 

-Bill

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement