applications that are started through Intel GPA Monitor (2014 R2) seem to crash when capturing a frame when it has a draw call that writes to a unordered access view (UAV) of a structured buffer (DirectX 11). Draw calls that only read from these buffers seem to not crash. Tested by capturing a Frame from the exact same scene without the Pass that renders to the structured buffer.
It crashes with an Access Violation in Managed Code as it detects a Memory Corruption. (The application is written in C++, but has one Manged C++ Project for UI purposes).
Are RWStructuredBuffer supported by Intel GPA?
System: Windows 7 64-bit / 32 GB RAM / Core i7 3770K / AMD 290X / Visual Studio 2012
I'm checking on this... but in the meantime a couple of things:
I currently have no time to provide some sample code (maybe after the Easter weekend). The effect I was implementing is the Order Independent Transparency Effect from the AMD Mecha Demo. (Just tested that I can capture that Demo with GPA... hmm maybe it is something that I am doing differently).
Windows 7 build 7601, 64-bit DEP enabled
Num Processors: 8
System BIOS: American Megatrends Inc. 1709 (11/09/2012)
Video BIOS: 09/30/13
Device: AMD Radeon R9 200 Series
Provider: Advanced Micro Devices, Inc.
No support for GPA Instrumentation
GPA install directory: D:\Tools\Intel GPA\
GPA version: 14.2.221091
Current user is in Administrators group: YES
Current GPA 2014 R2 (14.2.221091)
First of all, I am sorry that you are running into this issue with the product, and thanks for your patience while we help figure out the problem(s) here!
Let me walk through your two emails and try to see whether I fully understand your problem, and please correct me if I am incorrect in any of this. So I'll also need to ask a couple of questions to help understand more about the exact nature of the problem.
First, you've indicated that your application crashes when attempting to create a frame capture file with Intel GPA, and the crash occurs when writing to an unordered access view (UAV) of a structured buffer. When Intel GPA crashes, it usually will create an XML crash file -- please copy that file here if you have it.
Also, without having access to your app, I'll need some additional information. First, I assume that your application runs fine when Intel GPA is not attached to it, and that Intel GPA System Analyzer runs OK except when creating a frame capture file? I'm also wondering whether this error is unique to your specific configuration (since we don't have too many AMD graphics systems around) -- have you run this game on a system with Intel Processor Graphics (or any other system), and if so do you know whether Intel GPA runs OK and creates a frame capture file successfully? Have you also run your app with DX debug mode enabled, to verify whether all your DX calls complete without generating any DX errors? Note that Intel GPA is usually less forgiving than the DirectX API, so DX API errors or warnings may have unexpected results when running with Intel GPA.
Next, you've indicated that there's another sample application that uses similar DX code functions, but the sample app runs fine with Intel GPA. Do you have any further analysis of this that can help us understand how this app might be similar/different from your app?
I understand that getting us code which demonstrates the issue may take some time, but having this code/app would be the fastest way for us to understand the details of the issue and figure out where the problem lies.
ok I will try to answer the questions, that I can answer right now. It might take a day until i have access to Nvidia hardware (I only have my Asus Transformer T100 that is based on a Intel chip and it is probably too slow, will try anyways).
So when it crashes my app the log files from GPA are empty. It will create a dmp file (about 10 mb) and a (failed?) frame capture (that will not show up in the Frame Analyzer (it has a red x as symbol). The frame capture is about 150 mb in size.
My app is running fine with and without starting it from Intel GPA Monitor. So far I have not used Intel GPA System Analyzer. I run my app in Debug mode which also creates the DirectX 11 Device in Debug mode and I do not have any warnings or errors from the Device.
The Sample App I was talking about is the Mecha Demo from AMD:
Unfortunately I did not find any source code for that Demo, so I downloaded the executable from some download webpage (googled). I was able to capture frames from that Demo, but I cannot compare my implementation with the one from the Demo (no source code).
I will try to answer the remaining questions in another post in the coming days.
Though you don't have the time to create some sample code, is there a way for us to get access to your app in order to see what is happening when the crash occurs?
I can now supply an application that crashes when capturing a frame. It is our PC-09 Demo that you can download from here:
It seems apparent, that i am doing something wrong as there are many glitches on different hardware. I have seen glitches that look like memory overwrites, even though I can't see where they could be coming from. I think you can get the application to crash by capturing a frame with Intel GPA in any scene, but I just verified that it crashes right in the first scene. It would be nice though, if it would not crash but report an error instead.