-
Notifications
You must be signed in to change notification settings - Fork 124
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
Add options to save and load pipeline caches #1276
Add options to save and load pipeline caches #1276
Conversation
CI gfxreconstruct build queued with queue ID 50146. |
CI gfxreconstruct build # 3264 running. |
CI gfxreconstruct build # 3264 passed. |
CI gfxreconstruct build queued with queue ID 50662. |
CI gfxreconstruct build # 3274 running. |
CI gfxreconstruct build # 3274 passed. |
b3848bb
to
655c52c
Compare
CI gfxreconstruct build queued with queue ID 122880. |
655c52c
to
6077bf1
Compare
CI gfxreconstruct build queued with queue ID 122884. |
CI gfxreconstruct build # 3700 running. |
CI gfxreconstruct build # 3700 passed. |
6077bf1
to
0944904
Compare
CI gfxreconstruct build queued with queue ID 215183. |
CI gfxreconstruct build # 4400 running. |
0944904
to
91a9e0d
Compare
CI gfxreconstruct build queued with queue ID 215196. |
CI gfxreconstruct build # 4401 running. |
CI gfxreconstruct build # 4401 passed. |
91a9e0d
to
c7adb88
Compare
CI gfxreconstruct build queued with queue ID 223544. |
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.
Seems to be a useful ability to change out the pipeline cache without recapturing a whole new trace - pipeline caches are in a way transient anyhow.
I do have a question about logging - I found it difficult to know if/when things where happening without inserting "saving pipeline cache" type debug messages. If I found it useful while validating the feature, I would expect others to find it useful in the log. I did not include the messages I wrote while investigating the PR, (rather just rebased on dev).
CI gfxreconstruct build # 4456 running. |
CI gfxreconstruct build # 4456 passed. |
c7adb88
to
5b6095b
Compare
CI gfxreconstruct build queued with queue ID 270377. |
CI gfxreconstruct build # 4944 running. |
5b6095b
to
d1d4afa
Compare
CI gfxreconstruct build queued with queue ID 310207. |
CI gfxreconstruct build # 5398 running. |
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.
A few questions.
CI gfxreconstruct build # 5398 passed. |
79f33b9
to
d980476
Compare
CI gfxreconstruct build queued with queue ID 310324. |
CI gfxreconstruct build # 5401 running. |
CI gfxreconstruct build # 5401 failed. |
d980476
to
cd284aa
Compare
CI gfxreconstruct build queued with queue ID 314518. |
CI gfxreconstruct build # 5471 running. |
CI gfxreconstruct build # 5471 passed. |
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
cd284aa
to
c91bd10
Compare
CI gfxreconstruct build queued with queue ID 315493. |
CI gfxreconstruct build # 5485 running. |
CI gfxreconstruct build # 5485 passed. |
CI gfxreconstruct build queued with queue ID 321960. |
CI gfxreconstruct build # 5534 running. |
CI gfxreconstruct build # 5534 passed. |
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
.