Select the graphics API used:
To see the currently bound shaders for a particular draw call, you can use either the Command pane or the State pane. Using the Command pane is generally faster, unless the application batches multiple draw calls with the same shader program together. In this case, you might have to search for the draw call.
Command pane
In the Command pane, navigate to the draw call that you want to investigate. Look above the draw call to find the preceding glUseProgram()
call. The program parameter for this function is the identifier for the shader program being bound.
Navigate to the Shaders pane and then go to the Programs tab. Select the relevant program from the list. For example, if your application calls glUseProgram(program:13)
, then navigate to Program<13>
in the Programs list.
In cases where your application does not bind a shader program close to a draw call, use the State Pane to find the currently bound program.
State pane
To find the currently bound program in the State pane, navigate to Bound → Program. The ID field identifies the currently bound shader program.
Navigate to the Shaders pane and the Programs tab to find the currently bound program.
Viewing vertex and fragment shaders from the bound program
If you want to iterate on your shaders, locate a specific shader outside of the context of the bound program. In the State pane, find the currently bound program and then expand the Shaders node to find the IDs of the individual shaders.
Navigate to the Shaders pane and go to the Shaders tab to find the shader.
To see the currently bound shaders for a particular draw call you can use the State pane.
State Pane
First select a Vulkan draw call. These are the commands that are nested under a VkQueueSubmit call. Non-nested items indicate only the location where commands were recorded.
Once you have a draw call selected in the State view, navigate to LastDrawInfos-><ID of the Queue in VkQueueSubmit>->(Graphics|Compute)Pipeline->Stages-><Stage>->Module
. This gives you the VulkanHandle of the shader that is bound for a particular stage.
Viewing vertex and fragment shaders from the bound program
If you want to iterate on your shaders, locate the bound shader and modify it.
Navigate to the Shaders pane and go to the Shaders tab to find the shader.