Skip to content

Renderdoc#16

Open
Kim2091 wants to merge 27 commits into
Ekozmaster:masterfrom
Kim2091:renderdoc
Open

Renderdoc#16
Kim2091 wants to merge 27 commits into
Ekozmaster:masterfrom
Kim2091:renderdoc

Conversation

@Kim2091
Copy link
Copy Markdown
Collaborator

@Kim2091 Kim2091 commented Apr 22, 2026

Adds a custom DX9 fork of Renderdoc! Will add more notes later

Kim2091 and others added 27 commits April 4, 2026 05:09
Adds renderdoctools/ package with find_renderdoc(), run_script(), and format_table() in core.py; base header template for RenderDoc-embedded scripts; __main__.py placeholder; and full unit test coverage (3/3 passing).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace placeholder events.py with full action-tree walker and replace
placeholder __main__.py with argparse CLI supporting events and open commands.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds scripts/pipeline.py for pipeline state inspection at a given event
and cmd_pipeline handler + argparse entry in __main__.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds scripts/textures.py for listing and exporting bound textures at a
given event, and cmd_textures handler + argparse entry in __main__.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds scripts/shaders.py for shader disassembly and optional cbuffer
inspection, and cmd_shaders handler + argparse entry in __main__.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds mesh.py template script for vertex/mesh data decoding at a draw
call, and cmd_mesh handler + argparse entry in __main__.py. Supports
input-assembler layout and post-VS output via --post-vs, optional index
range via --indices, and --json passthrough.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds counters.py template script for GPU performance counter queries,
and cmd_counters handler + argparse entry in __main__.py. Supports
listing all available counters, fetching a named counter across all
draw calls, and --zero-samples mode to find draws with no samples
passed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds analyze.py template script for capture-wide statistics and
cmd_analyze handler + argparse entry in __main__.py. Supports --summary
(event/draw/clear/index totals), --biggest-draws N (top draws by index
count), and --render-targets (per-RT draw counts and EID ranges).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds info.py template script for capture metadata (API name, machine
ident, timestamp) and cmd_info/cmd_capture handlers + argparse entries
in __main__.py. The capture command shells out to renderdoccmd.exe to
launch and capture an executable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- core.py: auto-discover RenderDoc in tools/ (supports versioned dir names)
- core.py: wrap template scripts in try/except + os._exit(0) to prevent GUI
- pipeline.py: remove bindPoint attr (doesn't exist in RenderDoc 1.43 API)
- textures.py: use GetTextures() lookup instead of non-existent GetTexture()
- textures.py: fix format display using fmt.Name() instead of str()
- __main__.py: fix cmd_capture to use find_renderdoc() for path discovery
- .gitignore: match tools/renderdoc* pattern for versioned dir names
Fix nested action lookup in pipeline/textures scripts that produced wrong
data for events inside render pass markers, implement post-VS vertex
extraction in mesh script, harden core.py (dead code, path quoting,
shutdown on error), expand test suite with error path and integration
coverage for info/counters, and add renderdoctools to CLAUDE.md and
tool-dispatch references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…s, tighten tests

New commands: pixel-history, debug-shader, usage, pick-pixel, tex-stats,
messages, frame-info, descriptors, custom-shader, tex-data, api-calls.
Fix resType->textureType, tex_desc.name->ResourceDescription lookup,
BoundResourceArray->UsedDescriptor API, GetMinMax tuple return.
Add RenderDoc auto-download to verify_install.py --setup.
Tighten all integration test assertions to validate values not just keys.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- pixel_history: add missing predicationSkipped test flag
- debug_shader: fix DebugVertex idx param (accept --raw-index)
- counters: branch on resultType for float/double counter values
- renderdoc-analysis skill: add capturing guide, verification
  patterns, draw call discovery strategies, multi-pass analysis,
  shader debug interpretation, troubleshooting checklist, GUI
  fallback guidance
SWIG renames SDObjectData::str to .string in the Python binding
to avoid shadowing Python's builtin str.
…ch, renderdoc-analysis skill; enrich static-analyzer agent, dx9-ffp-port skill, tool-catalog, copilot-instructions
- Update capture tips to list DX9 as supported (custom build required)
- Add DX9 Captures section documenting DDS-only texture export,
  supported/unsupported commands, and D3D9 pipeline specifics
- Add --format dds examples to quick reference and verification sections
- PNG export hangs on DX9 BC/DXT textures; DDS writes raw data correctly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update verify_install.py download URL to Kim2091/renderdoc DX9 release
- Update expected directory name to RenderDoc_DX9
- Add RenderDoc_DX9 to renderdoctools search paths in core.py
- Update error message to point to new release location

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…9 support claims

Capture section now leads with the programmatic `capture <exe>` command
instead of GUI instructions. Removes incorrect "DX9 is NOT supported"
from .cursor/.github/.kiro copies. Adds --output and exe_args flags to
command tables.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant