What happened?
Description
When attempting to export textures using the rdc texture command, the operation consistently fails with SaveTexture failed, regardless of the texture ID provided.
The issue occurs even though the capture file loads correctly and texture resources are properly listed.
Environment
- OS: Windows 11
- GPU: NVIDIA RTX 4070 Ti
- Visual Studio: 2022 (Build Tools v17.14.36915.13)
- Python: 3.10.16
- RenderDoc: v1.41
- rdc-cli: v0.5.1
Steps to Reproduce
Run the following commands in cmd:
rdc doctor
# all ok is confirmed
rdc open <path/to/file.rdc>
# opened: <path/to/file.rdc>
# session: <path/to/default.json>
rdc resources --type texture
# all texture-typed resources are listed, for example:
# 8517 Texture RT
# 8538 Texture Deferred GBuffer
rdc texture 8517 -o tex1.png
# error: SaveTexture failed
rdc texture 8538 -o tex2.png
# error: SaveTexture failed
Expected Behavior
The specified texture should be successfully exported to the given output path (e.g., tex1.png, tex2.png).
Actual Behavior
All attempts to export textures fail with:
error: SaveTexture failed
Debug Information
While debugging, I traced the execution into the RenderDoc source code and found the following call stack:
D3D11Replay::GetTextureData() // d3d11_replay.cpp#L2659
ReplayController::SaveTexture() // d3d11_device.cpp#L911
The critical issue appears to be that the following texture tracking maps are all empty:
WrappedID3D11Texture1D::m_TextureList
WrappedID3D11Texture2D1::m_TextureList
WrappedID3D11Texture3D1::m_TextureList
Because of this, the requested texture cannot be found, leading to the failure of SaveTexture.
Additional Notes
rdc doctor reports no issues.
- Texture resources are correctly listed via
rdc resources --type texture, indicating that the capture is valid and parsed correctly.
rdc doctor output
[ok] python: 3.10.16
[ok] platform: windows
[ok] renderdoc-module: version=1.41
[ok] replay-support: renderdoc replay API surface found
[ok] renderdoccmd: C:\Program Files\RenderDoc\renderdoccmd.exe (renderdoccmd x64 v1.41 built from c9e72e3d706c18601de874bcdb875b0ec977f952)
[ok] win-python-version: MSBuild renderdoc.pyd found at C:\Users\<name>\AppData\Local\rdc\renderdoc\renderdoc.pyd (version check skipped)
[ok] win-vs-build-tools: Visual Studio Build Tools found (version 17.14.36915.13)
[ok] win-renderdoc-install: RenderDoc found at C:\Program Files\RenderDoc\renderdoc.dll
[ok] win-vulkan-layer: registered at C:\Users\<name>\AppData\Local\rdc\renderdoc\renderdoc.json
[ok] adb: found: D:\Android-platform-tools\adb.EXE
[ok] android-apk: not found (run: rdc setup-renderdoc --android)
[ok] renderdoc-variant: upstream (1.41)
OS / Platform
Windows 11
Python version
3.10.16
rdc-cli version
0.5.1
Capture file
No response
What happened?
Description
When attempting to export textures using the
rdc texturecommand, the operation consistently fails withSaveTexture failed, regardless of the texture ID provided.The issue occurs even though the capture file loads correctly and texture resources are properly listed.
Environment
Steps to Reproduce
Run the following commands in
cmd:Expected Behavior
The specified texture should be successfully exported to the given output path (e.g.,
tex1.png,tex2.png).Actual Behavior
All attempts to export textures fail with:
Debug Information
While debugging, I traced the execution into the RenderDoc source code and found the following call stack:
The critical issue appears to be that the following texture tracking maps are all empty:
WrappedID3D11Texture1D::m_TextureListWrappedID3D11Texture2D1::m_TextureListWrappedID3D11Texture3D1::m_TextureListBecause of this, the requested texture cannot be found, leading to the failure of
SaveTexture.Additional Notes
rdc doctorreports no issues.rdc resources --type texture, indicating that the capture is valid and parsed correctly.rdc doctoroutputOS / Platform
Windows 11
Python version
3.10.16
rdc-cli version
0.5.1
Capture file
No response