Skip to content

turnip: implement VK_KHR_pipeline_executable_properties

Loosely based on ANV implementation.

For executable's internal representation we output:

  • Initial NIR after spirv_to_nir
  • Final optimized NIR
  • IR3 disassembly

Note, that vkGetPipelineExecutablePropertiesKHR is required to return executable properties even if pipeline was not created with CAPTURE_STATISTICS or CAPTURE_INTERNAL_REPRESENTATIONS bits set. So the executables array is unconditionally populated, however NIR and IR3 disassemlies are filled only when CAPTURE_INTERNAL_REPRESENTATIONS is set.

Passes dEQP-VK.pipeline.executable_properties.*
Works with RenderDoc.

Merge request reports