Repository navigation
CyGPUInspector 0.2.0
Pre-releaseCyGPUInspector 0.2.0 adds an AI assistant that works on the frame with the inspector's own tools, a full HLSL editor, per-game profiles that remember your changes, shader search, frame comparison and GPU timing of a single shader, draw or resource.
Résumé en français plus bas.
Download
CyGPUInspector-0.2.0-win64.zip: portable, nothing to install, nothing in the registry. Start with START-HERE.txt (French: COMMENCER-ICI.txt).
SHA-256: 79e045967af8191976faf1425683b9c8f4071a75fc87ae652d632ce7d547c395 (also in the attached .sha256 file).
Replace the add-on too: the 0.2.0 standalone connects to a 0.1.0 add-on, but the new timing focus needs the 0.2.0 CyGPUInspectorRS.addon64 (and the Unreal plugin of this zip, which carries it).
What is new
AI assistant (panel AI assistant, and the AI Analysis tab of a shader)
- Providers: the Codex CLI or the Claude Code CLI with the login they already have, or an OpenAI-compatible API, local (Ollama, LM Studio…) or remote. No key is stored in the settings.
- The assistant reads the frame, the shaders and the resources through the same tools as the MCP server. Three permission modes: automatic (at most one change per message), ask each time (every change, and every piece of shader code before it is sent to the provider), full access.
- On a shader: clean-up of the reconstructed HLSL, classification, explanation. What comes back is a hypothesis, labelled as such, never the original source.
HLSL editor
- The HLSL tab colours each decompiler's reconstruction as HLSL and lets you edit it.
- Open in a window gives a full editor in its own window: find and replace, undo, line numbers, open and save
.hlslfiles, compilation for any profile (FXC for Shader Model 5, DXC for Shader Model 6) with the errors marked on their lines, and Compile & Inject into the running game.
Safer replacements
- A replacement is checked against the original before it is sent: inputs, outputs, registers, stage and format. Differences the graphics API would reject are explained instead of ending in a refused pipeline; differences it tolerates are shown as warnings.
Game profiles (panel Game profile)
- One profile per game, in JSON under
Games/: sessions, every shader seen with whether it is new or already known, and the game's captures. - The shaders you disabled or replaced are saved and, if you choose, applied again when the game comes back, matched by their semantic hash.
Shader search
- A query language in the Shaders panel:
stage:ps writes:rgba16f ms>0.2,reads:depth,calls>1000,sm:6,tag:bloom,used,disabled,replaced,new…
Frame comparison
- Two captures, in the Captures panel: the shaders that ran only in one of them or ran differently (calls, GPU time), and the resources present in only one. Through MCP and the assistant, a capture can also be compared with the live frame.
Frame graph
- Passes are followed from one rebuild to the next: names stop flickering, a pass that keeps its name gains confidence, and a name you give follows the pass wherever it moves in the frame.
GPU timing of one shader, one draw or one resource
- Time this shader precisely, Time this draw precisely and Time the draws into this resource in the Details panel: on top of Pass Timing, the add-on times only those commands, so they get a GPU time of their own without the cost of Full Draw Timing. The Shader tab shows calls, total, average and maximum.
MCP
- New tools:
find_shaders,get_game_profile,list_captures,compare_captures.replace_shadergoes through the same check as the interface.
Requirements
- Windows 10 or 11, 64-bit.
- For a game: ReShade with full add-on support (reshade.me), D3D11 or D3D12. CyGPUInspector injects nothing itself: ReShade loads the add-on. A game that refuses ReShade is not supported, and nothing here tries to work around anti-cheat systems or protections.
- For the AI assistant: one of the providers above, with your own account or server.
Known limitations
- The frame is observed through ReShade's add-on API, not replayed.
- Pass names are derived: no graphics API exposes an application's debug markers to a ReShade add-on.
- The HLSL shown is a reconstruction, never the original source, and is labelled with the backend that produced it. The AI's results are hypotheses.
Details: Docs/Limitations.md.
Licences
CyGPUInspector is published under the GNU Affero General Public License v3 or later. Third-party components keep their own licences (see THIRD-PARTY.md and Licenses/): the 3Dmigoto decompiler (GPL-3.0, combined through section 13 of both licences), ReShade (BSD-3-Clause), Dear ImGui, ImGuiColorTextEdit, dxil-spirv, dxbc-spirv and SPIRV-Headers (MIT), SPIRV-Cross (Apache-2.0), dxcompiler.dll (NCSA and MIT). dxil.dll is under the Microsoft Software License Terms of the DirectX Shader Compiler and is not covered by the AGPL.
En français
CyGPUInspector 0.2.0 ajoute :
- un assistant IA qui travaille sur la frame avec les outils de l'inspecteur : Codex CLI ou Claude Code CLI avec leur connexion existante, ou une API compatible OpenAI, locale ou distante. Trois modes de permission, et sur un shader : nettoyage du HLSL reconstruit, classification, explication. Ce qu'il rend est une hypothèse ;
- un éditeur HLSL complet : coloration syntaxique, fenêtre séparée, recherche, fichiers
.hlsl, compilation de test FXC ou DXC avec les erreurs sur leurs lignes, et Compile & Inject dans le jeu ; - une vérification des remplacements avant l'envoi : ce que l'API graphique refuserait est expliqué au lieu d'échouer ;
- des profils de jeu en JSON : sessions, shaders nouveaux ou déjà connus, et les shaders désactivés ou remplacés, réappliqués au retour du jeu si vous le voulez ;
- la recherche de shaders par ce qu'ils font (
stage:ps writes:rgba16f ms>0.2…) ; - la comparaison de deux frames : shaders présents d'un seul côté ou exécutés différemment, ressources ;
- des passes stables d'une reconstruction du frame graph à l'autre ;
- la mesure GPU d'un shader, d'un draw ou d'une ressource seuls, sans le coût de Full Draw Timing.
Remplacez aussi l'add-on : la mesure ciblée demande le CyGPUInspectorRS.addon64 de la 0.2.0. Commencez par COMMENCER-ICI.txt. Licence : GNU AGPL v3 ou ultérieure ; les composants tiers gardent la leur (THIRD-PARTY.md, Licenses/).