-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
State files #1660
base: dev
Are you sure you want to change the base?
State files #1660
Conversation
CI gfxreconstruct build queued with queue ID 233634. |
CI gfxreconstruct build # 4580 running. |
CI gfxreconstruct build queued with queue ID 233656. |
CI gfxreconstruct build # 4581 running. |
CI gfxreconstruct build # 4581 failed. |
CI gfxreconstruct build queued with queue ID 233707. |
CI gfxreconstruct build # 4582 running. |
CI gfxreconstruct build # 4582 passed. |
CI gfxreconstruct build queued with queue ID 236219. |
CI gfxreconstruct build # 4607 running. |
CI gfxreconstruct build # 4607 failed. |
CI gfxreconstruct build queued with queue ID 237687. |
CI gfxreconstruct build # 4613 running. |
CI gfxreconstruct build # 4613 failed. |
CI gfxreconstruct build queued with queue ID 237862. |
CI gfxreconstruct build # 4614 running. |
CI gfxreconstruct build # 4614 passed. |
9aaca27
to
c054d89
Compare
CI gfxreconstruct build queued with queue ID 239156. |
CI gfxreconstruct build # 4623 running. |
CI gfxreconstruct build # 4623 failed. |
c054d89
to
3434172
Compare
CI gfxreconstruct build queued with queue ID 239191. |
CI gfxreconstruct build # 4624 running. |
CI gfxreconstruct build # 4624 failed. |
USAGE_android.md
Outdated
@@ -306,6 +306,9 @@ option values. | |||
| Capture Specific Frames | debug.gfxrecon.capture_frames | STRING | Specify one or more comma-separated frame ranges to capture. Each range will be written to its own file. A frame range can be specified as a single value, to specify a single frame to capture, or as two hyphenated values, to specify the first and last frame to capture. Frame ranges should be specified in ascending order and cannot overlap. Note that frame numbering is 1-based (i.e. the first frame is frame 1). Example: `200,301-305` will create two capture files, one containing a single frame and one containing five frames. Default is: Empty string (all frames are captured). | | |||
| Quit after capturing frame ranges | debug.gfxrecon.quit_after_capture_frames | BOOL | Setting it to `true` will force the application to terminate once all frame ranges specified by `debug.gfxrecon.capture_frames` have been captured. Default is: `false` | | |||
| Capture trigger for Android | debug.gfxrecon.capture_android_trigger | BOOL | Set during runtime to `true` to start capturing and to `false` to stop. If not set at all then it is disabled (non-trimmed capture). Default is not set. | | |||
| Use asset file | debug.gfxrecon.capture_use_asset_file | BOOL | When set to `true` assets (images, buffers and descriptors) will be stored separately into an asset file instead of the capture file. | | |||
| Use asset file | debug.gfxrecon.capture_android_dump_assets | BOOL | Setting this triggers a dump of all assets into the asset file. Since android options cannot be set by the layer, dumping is done whenever this option switches between from `false` to `true` or from `true` to `false`. Default is: `false` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be "Dump asset file" instead of "Use asset file"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also wonder if this should only trigger on the false -> true setting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be "Dump asset file" instead of "Use asset file"?
Right, copy paste mistake
I also wonder if this should only trigger on the false -> true setting?
Initially that was my idea too but then I realized that this is problematic. If an asset dump is triggered by the android property, once the assets are dumped the property must be transitioned to false, otherwise it will keep dumping every frame. The option needs to be cleared by the application but, at least as far as I can tell, android apps do not have permission to do that.
@@ -261,7 +261,9 @@ option values. | |||
| Capture Specific Frames | GFXRECON_CAPTURE_FRAMES | STRING | Specify one or more comma-separated frame ranges to capture. Each range will be written to its own file. A frame range can be specified as a single value, to specify a single frame to capture, or as two hyphenated values, to specify the first and last frame to capture. Frame ranges should be specified in ascending order and cannot overlap. Note that frame numbering is 1-based (i.e. the first frame is frame 1). Example: `200,301-305` will create two capture files, one containing a single frame and one containing five frames. Default is: Empty string (all frames are captured). | | |||
| Quit after capturing frame ranges | GFXRECON_QUIT_AFTER_CAPTURE_FRAMES | BOOL | Setting it to `true` will force the application to terminate once all frame ranges specified by `GFXRECON_CAPTURE_FRAMES` have been captured. Default is: `false` | | |||
| Hotkey Capture Trigger | GFXRECON_CAPTURE_TRIGGER | STRING | Specify a hotkey (any one of F1-F12, TAB, CONTROL) that will be used to start/stop capture. Example: `F3` will set the capture trigger to F3 hotkey. One capture file will be generated for each pair of start/stop hotkey presses. Default is: Empty string (hotkey capture trigger is disabled). | | |||
| Hotkey Capture Trigger Frames | GFXRECON_CAPTURE_TRIGGER_FRAMES | STRING | Specify a limit on the number of frames to be captured via hotkey. Example: `1` will capture exactly one frame when the trigger key is pressed. Default is: Empty string (no limit) | | |||
| Hotkey Capture Trigger Frames | GFXRECON_CAPTURE_TRIGGER_FRAMES | STRING | Specify a limit on the number of frames to be captured via hotkey. Example: `1` will capture exactly one frame when the trigger key is pressed. Default is: Empty string (no limit) | | |||
| Use asset file | GFXRECON_CAPTURE_USE_ASSET_FILE | BOOL | When set to `true` assets (images, buffers and descriptors) will be stored separately into an asset file instead of the capture file. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wouldn't desktop also benefit from a dump asset file trigger like android has?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure that doesn't make sense, for the same reason capture_android_trigger
doesn't exist on desktop - you can't modify environment variables at runtime (but android properties can be modified at runtime). Though a hotkey on desktop would make more sense.
@@ -403,6 +403,12 @@ VKAPI_ATTR uint64_t VKAPI_CALL GetBlockIndexGFXR() | |||
return manager->GetBlockIndex(); | |||
} | |||
|
|||
VKAPI_ATTR void VKAPI_CALL WriteAssetsGFXR() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you mentioned during our sync meeting that there was a private API that our layer could trigger to force an asset dump outside of a capture trigger, is this that function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on 87ce650, I'm pretty sure it is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, WriteAssetsGFXR
is exposed just like GetBlockIndexGFXR
( 87ce650#diff-4cd2c76addccf755b343693d32cb024f7b90d9d4d2fd2ecc7d997921ee1c533bL35 ) that you use in the perfetto layer and in the same fashion it should be discoverable through the vulkan loader (I haven't tested it but crossing fingers that it should work)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Realized that the naming I used was very inconsistent. Changed it to
{ "DumpAssetsGFXR", reinterpret_cast<PFN_vkVoidFunction>(encode::DumpAssetsGFXR) }
Function should now be discoverable through the Vulkan loader by vkGetInstanceProcAddr([instance], "DumpAssetsGFXR");
CI gfxreconstruct build queued with queue ID 239724. |
CI gfxreconstruct build # 4633 running. |
CI gfxreconstruct build # 4813 failed. |
CI gfxreconstruct build queued with queue ID 254934. |
CI gfxreconstruct build # 4816 running. |
CI gfxreconstruct build # 4816 passed. |
CI gfxreconstruct build queued with queue ID 255288. |
CI gfxreconstruct build # 4820 running. |
CI gfxreconstruct build # 4820 passed. |
4233c97
to
3fa25dc
Compare
CI gfxreconstruct build queued with queue ID 256905. |
CI gfxreconstruct build # 4833 running. |
CI gfxreconstruct build # 4833 passed. |
3fa25dc
to
79bb98d
Compare
CI gfxreconstruct build queued with queue ID 263799. |
CI gfxreconstruct build # 4893 running. |
CI gfxreconstruct build # 4893 passed. |
CI gfxreconstruct build queued with queue ID 267612. |
e21e2cc
to
c9cebf1
Compare
CI gfxreconstruct build queued with queue ID 267615. |
CI gfxreconstruct build # 4927 running. |
CI gfxreconstruct build # 4927 passed. |
c9cebf1
to
6211337
Compare
CI gfxreconstruct build queued with queue ID 268676. |
CI gfxreconstruct build # 4938 running. |
CI gfxreconstruct build # 4938 passed. |
6211337
to
a4bc66b
Compare
CI gfxreconstruct build queued with queue ID 285027. |
CI gfxreconstruct build # 5159 running. |
CI gfxreconstruct build # 5159 passed. |
No description provided.