Select the graphics API used:

OpenGL ES

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.

Finding a bound program through the Command Pane

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.

Finding the bound program through the State Pane

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.

Vulkan

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.

Selecting a Vulkan draw

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.

Finding the bound program through the State Pane

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.