-
Notifications
You must be signed in to change notification settings - Fork 328
Description
GAPID commit: 0d58a5a
Device: Pixel 3
I capture an OpenGL trace from a game on Android. This is not a mid-execution capture. It has about 80 frames: many of these are just a loading screen; the rest are a 3D menu screen.
I have shared the capture offline in a shared drive folder called "GapidTraces". It contains 20181203_1416.
I open the trace in gapid/gapic and the Android device is selected as the replay device:
- The commands show in the GUI, but the thumbnails take forever to load; I eventually saw some appear, but I have never seen them all load, even after e.g. 10 mins.
- Clicking on commands is very slow during this time. If I click enough, the GUI becomes unresponsive for several seconds.
- The memory view does not seem to show; it shows a spinning circle, then nothing, then back to the spinning circle.
- I can click on shaders, but the source doesn't seem to show. It seems to work for early frames.
Could I disable the thumbnails from being loaded? I don't really need them.
I close gapid/gapic, unplug the Android device, relaunch gapid/gapic, and open the trace. My desktop is selected as the replay device:
- The thumbnails still don't seem to load.
- Clicking on commands still makes the GUI unresponsive for seconds.
- The memory view still does not seem to show; it shows a spinning circle and then returns to "Select a command...".
- I can see the shader sources for earlier frames; for later frames, I can't get the shaders sources to load, just the list of shader handles.
I can't get the thumbnails to load on my desktop either. This machine has a lot of RAM, in case that is relevant.
I do gapit screenshot capture.gfxtrace. My desktop is chosen as the replay device. I see this warning:
14:57:38.906 I: <gapis> Replay device does not have a memory layout matching device used to trace
And eventually I see a lot of these errors:
14:56:46.680 I: <gapir> 14:56:46.138 E gapir: [gapir/cc/context.cpp:162] [252183]renderer: GL_INVALID_OPERATION error generated. <program> has not been linked, or is not a program object.
14:56:46.680 I: <gapir> 14:56:46.138 E gapir: [gapir/cc/context.cpp:162] [252183]renderer: GL_INVALID_OPERATION error generated. <program> object is not successfully linked, or is not a program object.
The screenshot is black. I am not sure why these errors occur but I guess the different memory layout is problematic?
I plug in the Android device and try gapit screenshot capture.gfxtrace again. The Android device is chosen as the replay device. The screenshot is produced. No warnings or errors.
I try gapit dump_resources capture.gfxtrace. I always seem to get this warning:
15:10:36.680 I: <gapis> Replay device does not have a memory layout matching device used to trace
even if I specify -gapir-device, although I might be getting the device name wrong. It fails to dump any shaders. The errors are the same as above when on desktop. I.e. <program> has not been linked, or is not a program object.
It looks like dump_resources is always choosing the desktop device. I can't dump_resources.
In fact, dump_resources only dumps shaders at this point; I am not sure that going to the device should even be necessary (maybe it doesn't go to the device?).