Stay organized with collections
Save and categorize content based on your preferences.
The Shader pane allows you to see individual shaders used in the trace.
To use this pane, select a shader in the list. This creates a new tab that shows
the shader's source as well as static analysis statistics.
To see the specific shader bound to a specific stage in the pipeline, view that
stage in the Pipeline view.
Figure 1. Shader pane
Select shader code
You can select either SPIR-V or, if possible, GLSL. Note:
If the SPIR-V code provides the original GLSL code in its OpSource
instruction, the GLSL tab simply shows the same code. If not, AGI attempts
to decompile the SPIR-V into GLSL using SPIRV-Cross.
If an error occurs in the decompilation, the option to show GLSL source code
isn't available.
Static analysis
AGI provides statistics from a static analysis of the SPIR-V shader. Here are
the statistics supported:
Statistic
Description
ALU Instructions
Number of instructions in the shader that uses the ALU.
Texture Instructions
Number of texture fetches in the shader.
Branch Instructions
Number of branching instructions in the shader.
Peak Temporary Register Pressure
The highest number of concurrently live temporary registers. A temporary
value's lifetime starts at its defition and ends at its last use in the
shader. The statistic adds p the number of registers each live value
uses (for example, a 4D float would be 4 registers).
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-02-01 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-02-01 UTC."],[],[],null,["# Shader pane\n\nThe **Shader** pane allows you to see individual shaders used in the trace.\n\nTo use this pane, select a shader in the list. This creates a new tab that shows\nthe shader's source as well as static analysis statistics.\n\nTo see the specific shader bound to a specific stage in the pipeline, view that\nstage in the [**Pipeline** view](/games/agi/refdocs/pipeline-view-pane).\n**Figure 1.** **Shader** pane\n\nSelect shader code\n------------------\n\nYou can select either **SPIR-V** or, if possible, **GLSL**. Note:\n\n- If the SPIR-V code provides the original GLSL code in its OpSource instruction, the **GLSL** tab simply shows the same code. If not, AGI attempts to decompile the SPIR-V into GLSL using SPIRV-Cross.\n- If an error occurs in the decompilation, the option to show GLSL source code isn't available.\n\nStatic analysis\n---------------\n\nAGI provides statistics from a static analysis of the SPIR-V shader. Here are\nthe statistics supported:\n\n| Statistic | Description |\n|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ALU Instructions | Number of instructions in the shader that uses the ALU. |\n| Texture Instructions | Number of texture fetches in the shader. |\n| Branch Instructions | Number of branching instructions in the shader. |\n| Peak Temporary Register Pressure | The highest number of concurrently live temporary registers. A temporary value's lifetime starts at its defition and ends at its last use in the shader. The statistic adds *p* the number of registers each live value uses (for example, a 4D float would be 4 registers). |"]]