gfxreconstruct
gfxreconstruct copied to clipboard
Handle shader extraction and replacement for less common cases
Specifically, shader extraction and replacement is now supported for shaders created with a VkShaderModuleCreateInfo
struct in the pNext
chain of a VkPipelineShaderStageCreateInfo
, and for calls to vkCreateShadersEXT
. The former case uses the pipeline's handle and the shader stage as the filename, while the latter uses the handle passed to vkCreateShadersEXT
. This is supported for both regular and asynchronous pipeline creation.
This PR does not address gfxrecon-convert (see #1748).
For the VkShaderModuleCreateInfo
case, the shader stage specifically is the decimal value of the VkShaderStageFlagBits
(which must be only one bit). This produces shaders named e.g. sh99_1
or sh116_16
, which isn't pretty but should be unambiguous. If there's an easy way to produce nicer names, that would be preferable.