-
Notifications
You must be signed in to change notification settings - Fork 64
Description
Reason: For driver development, we'd like to have a good representation of typically used shaders across a number of different applications. Many modern games compile all pipelines upfront. While this is generally a good thing for the user experience, it makes it hard to get a representative subset of shaders which are used within a few frames, because the generated fossilize archive can become very large. This limits us to a smaller number of applications and/or requires us to (randomly) shrink the fossilize archives to the desired size.
Instead, we'd like to filter the generated fossilize archives by the pipelines which are eventually being submitted to the GPU. So, my request would be something that keeps track of all pipelines and modules that get bound (assuming that ~all bound pipelines are also being submitted. If that is too far from reality, we need to also keep track of submissions). These pipelines (or their respective hashes) should be dumped into a whitelist, so that we can easily filter.
(Bonus points if the whitelist generation can be triggered.)
I'm not sure how the different whitelist features work that we have in the replayer:
[--on-disk-validation-whitelist <path>]
[--on-disk-replay-whitelist <path>]
[--on-disk-replay-whitelist-mask <module/pipeline/hex>]
[--implicit-whitelist <index>]
I'll happily implement the feature myself if someone can point me into the right direction.