You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add options to save and load pipeline caches (#1276)
* Add options to save and load pipeline caches
Add three options `--save-pipeline-cache`, `--load-pipeline-cache`
and `--add-new-pipeline-caches` to manually handle pipeline cache
creation/loading instead of using the ones saved in the capture file.
This is useful when pipeline creation is slow on the target system.
You can generate the cache once then run the trace multiple times,
or generate it on a faster device type with the same GPU and driver.
When using `--save-pipeline-cache` the contents of the pipeline
caches are written to the specified file just before their
destruction, and just before the destruction of the last bound
pipeline for caches created by `--create-new-pipeline-cache`, or at
the end of the program if no destruction occurs before.
When using `--load-pipeline-cache` the contents of the pipeline
caches are loaded just before their creation, and just before the
creation of the pipeline for caches created by
`--create-new-pipeline-cache`.
If set, allows gfxreconstruct to create new vkPipelineCache objects
when it encounters a pipeline created without cache. This option
can be used in coordination with `--save-pipeline-cache` and
`--load-pipeline-cache`.
Change-Id: I40667416efe4c88033c386f6ec5fd53a86dd58ca
* Warn when using both async pipeline-creation and pipeline-cache features
* Consolidate duplicated OverrideDestroyPipeline-flavors into one
* work review comments
* Respect options_.omit_pipeline_cache_data and do not load any pipeline-data if set.
---------
Co-authored-by: Fabian Schmidt <[email protected]>
Copy file name to clipboardexpand all lines: android/scripts/gfxrecon.py
+14
Original file line number
Diff line number
Diff line change
@@ -116,6 +116,9 @@ def CreateReplayParser():
116
116
parser.add_argument('--pbi-all', action='store_true', default=False, help='Print all block information.')
117
117
parser.add_argument('--pbis', metavar='RANGES', default=False, help='Print block information between block index1 and block index2')
118
118
parser.add_argument('--pcj', '--pipeline-creation-jobs', action='store_true', default=False, help='Specify the number of pipeline-creation-jobs or background-threads.')
119
+
parser.add_argument('--save-pipeline-cache', metavar='DEVICE_FILE', help='If set, produces pipeline caches at replay time instead of using the one saved at capture time and save those caches in DEVICE_FILE. (forwarded to replay tool)')
120
+
parser.add_argument('--load-pipeline-cache', metavar='DEVICE_FILE', help='If set, loads data created by the `--save-pipeline-cache` option in DEVICE_FILE and uses it to create the pipelines instead of the pipeline caches saved at capture time. (forwarded to replay tool)')
121
+
parser.add_argument('--add-new-pipeline-caches', action='store_true', default=False, help='If set, allows gfxreconstruct to create new vkPipelineCache objects when it encounters a pipeline created without cache. This option can be used in coordination with `--save-pipeline-cache` and `--load-pipeline-cache`. (forwarded to replay tool)')
0 commit comments