Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Vulkan, pipeline creation (pipeline cache / VK_EXT_graphics_pipeline_library)

Hi.

While examining possible pipeline creation speedup there is VkPipelineCache and VK_EXT_graphics_pipeline_library extension.

Does VkPipelineCache work in a similar way as VK_EXT_graphics_pipeline_library? I mean let's say we have two pipelines that have the same fragment shader: Pipeline#0 (VS#0, FS#0, ...) and Pipeline#1(VS#1, FS#0, ...). Pipeline#0 gets created first and is added to the VkPipelineCache. Is it so that creation of Pipeline#1 withVkPipelineCache will reuse FS#0 from already compiled Pipeline#0 (in other words no spirv -> platform binaries compilation will happen for FS#0)?

Basically what I am aiming here is warming up shader parts of the pipelines in a similar manner that is recommended VK_EXT_graphics_pipeline_library but only via VkPipelineCache. Would that approach work?

And the second question: Is it so that spirv->platform binaries compilation is the most time consuming part of pipeline creation?

Regards,
Aleksei