Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas

Intel GPA crashes my application

LCTVS
Beginner
306 Views

Hello. I have a DXR 1.1 path tracer that crashes when I start it via the Graphics Monitor. When enabling the 'Auto-Detect' feature in 'Frame' mode and starting my application in a debugger, I see that the crash occurs in the D3D12 debug layer when I call the IDXGISwapChain::Present() function.

The debug layer produces the following message:
GPU-BASED VALIDATION: Draw, Incompatible texture barrier layout: Resource: 0x000002A80A7A4210:'Unnamed ID3D12Resource Object', Subresource Index: [0], Descriptor heap index to DescriptorTableStart: [0], Descriptor heap index FromTableStart: [0], Binding Type In Descriptor: SRV, Layout: D3D12_BARRIER_LAYOUT_LEGACY_COPY_DEST(0x80000001), Index of Descriptor Range: 0, Shader Stage: PIXEL, Root Parameter Index: [1], Draw Index: [0], Shader Code: <debug info not available>, Asm Instruction Range: [0x54-0x7f], Asm Operand Index: [3], Command List: 0x000002A8073A00A0:'Unnamed ID3D12GraphicsCommandList Object', Command List Type: D3D12_COMMAND_LIST_TYPE_DIRECT, SRV/UAV/CBV Descriptor Heap: 0x000002A80D5AEBF0:'Unnamed ID3D12DescriptorHeap Object', Sampler Descriptor Heap: <not set>, Pipeline State: 0x000002A80B427100:'Unnamed ID3D12PipelineState Object',

When I run my application without the GPA, I don't get any warnings or errors from the validation layers, so it must be a problem with the Graphics Monitor.

0 Kudos
6 Replies
sentientSpark_Intel
209 Views

Hi LCTVS,

 

Thank you for your post. We are sorry that you are having issues capturing your application with Graphics Monitor. 

 

Could you please turn off the validation layer and see if the behavior you described during a Graphics Monitor capture changes?

 

Also, does your application use Enhanced Barriers?

 

To effectively diagnose and address the problem, it would be very helpful if we could review the source code of your application. This will allow us to better understand the context in which the crash occurs. 

If you are able to provide the source code, please let us know how you would like to transfer the files. Additionally, if there are specific areas of the code you believe are related to the issue, please highlight those for us.

 

Thanks!

0 Kudos
LCTVS
Beginner
174 Views

If I turn off the debug layer, I'm able to capture a frame but when I try to open it the GpaPlayerServer.exe crashes. I don't use enhanced barriers, but I do use GPU_UPLOAD heaps and Shader Model 6.6, though I don't know if they are related to the issue. Just now I noticed that the crash with the debug layer enabled occurs on the very first rendered frame, so maybe it's an issue that can be reproduced with a far simpler program. I can provide the source code by email to an address of your choice.

0 Kudos
sentientSpark_Intel
145 Views

Hey LCTVS,

 

Thank you for the reply and additional information. 

Could you please email the source code to austin.eversole@intel.com?  We can then investigate and then get back to you regarding workarounds or next steps.

 

Thanks!

0 Kudos
LCTVS
Beginner
115 Views
0 Kudos
sentientSpark_Intel
88 Views

Hi LCTVS,

Thank you, we have received the email and will get back to you when we have information to share regarding this issue!

0 Kudos
sentientSpark_Intel
73 Views

Hey again LCTVS,

 

Thanks for the source code to your application. I confirmed the issues you described regarding starting your path tracer with Graphics Monitor attached, and we will reach out to you if a solution is found.

 

In the meantime, we have a workaround you could try if you are interested in frame analysis. I was able to inject into your Path Tracer and capture a stream using GPA Framework, and then opened that stream successfully using Frame Analyzer.

GPA Framework is a command-line suite of tools and interfaces which allows users to capture, playback and analyze graphics applications. To use it, you could do the following (fill in ____ with the path to your application)

  • gpa-injector --layer capture ______

 

You can download GPA Framework at the same download page as GPA (Download Intel® Graphics Performance Analyzers). You can also learn more about GPA Framework here: GPA Framework Documentation. If you are interested in capturing traces for analysis using Trace Analyzer, unfortunately GPA Framework cannot capture traces. 

 

Let me know if you have success using this workaround!

 

And would you mind sharing some more information to help us better diagnose the validation errors you encountered using Graphics Monitor? Specifically the System Analyzer information (accessible using the (i) icon in the top right hand corner of the screen, see picture below)

sentientSpark_Intel_0-1742006026555.png

 

Thank you, and looking forward to hearing from you.

 

0 Kudos
Reply