Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions cmake/ports/renderdoc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,13 @@ This port does **not** include the `renderdoc.dll` runtime library because:

## Getting the Runtime DLL

The `renderdoc.dll` should be obtained from official RenderDoc releases:
The `renderdoc.dll` should be obtained from official RenderDoc releases. For stable Windows releases the runtime package follows this pattern:

- Download page: https://renderdoc.org/builds
- `https://renderdoc.org/stable/${VERSION}/RenderDoc_${VERSION}_64.zip`

For example, for v1.43:

- `https://renderdoc.org/stable/1.43/RenderDoc_1.43_64.zip`

For Community Shaders, the DLL is stored in `package/SKSE/Plugins/Renderdoc/renderdoc.dll` and is deployed as part of the mod package.

Expand Down
30 changes: 27 additions & 3 deletions cmake/ports/renderdoc/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO baldurk/renderdoc
REF v1.40
SHA512 6581d1fe7ba069e74d09b64a1de0a413bc0d1e775a45cce87bb8ea125fc2d67e9846439acc802882c0d717028e251f9f44fd896e2022e310456adafa675bf85a
REF v1.43
SHA512 555d3ff84787db45807f29e67c9e8ea3d475e101ceb01d281b80a74d470b7aa5ef6e39731a8a1a06ca547729b74e316ff2d8394a126ecde9b637a1ca94ef95f3
HEAD_REF v1.x
)

Expand All @@ -15,6 +15,30 @@ file(INSTALL "${SOURCE_PATH}/renderdoc/api/app/renderdoc_app.h"
# Install copyright/license
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md")

# Runtime DLL automation template:
# The RenderDoc runtime DLL is distributed separately from the API header.
# To automate runtime retrieval, use the official stable package URL pattern:
#
# https://renderdoc.org/stable/${VERSION}/RenderDoc_${VERSION}_64.zip
#
# Example vcpkg template:
#
# set(RENDERDOC_VERSION 1.40)
# set(RENDERDOC_RUNTIME_ARCHIVE "RenderDoc_${RENDERDOC_VERSION}_64.zip")
# vcpkg_download_distfile(
# OUT_FILE "${SOURCE_PATH}/${RENDERDOC_RUNTIME_ARCHIVE}"
# URL "https://renderdoc.org/stable/${RENDERDOC_VERSION}/${RENDERDOC_RUNTIME_ARCHIVE}"
# SHA512 <SHA512>
# )
# vcpkg_extract_source_archive_ex(
# OUT_SOURCE_PATH RUNTIME_SOURCE_PATH
# ARCHIVE "${SOURCE_PATH}/${RENDERDOC_RUNTIME_ARCHIVE}"
# )
# file(INSTALL "${RUNTIME_SOURCE_PATH}/renderdoc.dll"
# DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
#
# Replace <SHA512> with the archive checksum for the selected RenderDoc version.

# Create usage file with instructions for getting the runtime DLL
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage"
"RenderDoc provides an in-application API for frame capture and debugging.
Expand All @@ -27,7 +51,7 @@ To use RenderDoc in your application:
3. Initialize the API as described in the documentation

To obtain renderdoc.dll:
- Download the portable zip from: https://renderdoc.org/builds
- Download the portable zip from: https://renderdoc.org/stable/${VERSION}/RenderDoc_${VERSION}_64.zip
- Or build from source: https://github.com/baldurk/renderdoc
- Deploy renderdoc.dll alongside your application

Expand Down
2 changes: 1 addition & 1 deletion cmake/ports/renderdoc/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "renderdoc",
"version": "1.40",
"version": "1.43",
"description": "RenderDoc in-application API for frame capture and debugging",
"homepage": "https://github.com/baldurk/renderdoc",
"license": "MIT",
Expand Down
5 changes: 0 additions & 5 deletions features/RenderDoc/README.md

This file was deleted.

2 changes: 1 addition & 1 deletion features/RenderDoc/Renderdoc/LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The MIT License (MIT)

Copyright (c) 2015-2025 Baldur Karlsson
Copyright (c) 2015-2026 Baldur Karlsson

Copyright (c) 2014 Crytek

Expand Down
14 changes: 9 additions & 5 deletions features/RenderDoc/Renderdoc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@ This directory contains the RenderDoc runtime library for frame capture function

## Version

Current version: **1.40**
Current version: **1.43**

## Source

The `renderdoc.dll` file must be manually obtained from official RenderDoc releases:
The `renderdoc.dll` file must be obtained from official RenderDoc releases.

- Website: https://renderdoc.org/builds
- Direct download (MSI): https://renderdoc.org/stable/
- GitHub releases: https://github.com/baldurk/renderdoc/releases/tag/
For stable Windows builds, the runtime package uses this pattern:

- `https://renderdoc.org/stable/${VERSION}/RenderDoc_${VERSION}_64.zip`

For example, for v1.43:

- `https://renderdoc.org/stable/1.43/RenderDoc_1.43_64.zip`
Comment thread
alandtse marked this conversation as resolved.

## Installation Steps

Expand Down
Binary file modified features/RenderDoc/Renderdoc/renderdoc.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion features/RenderDoc/Shaders/Features/RenderDoc.ini
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[Info]
Version = 1-0-0
Version = 1-0-1
2 changes: 1 addition & 1 deletion src/Features/RenderDoc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ void RenderDoc::Load()
}

// Get the API interface
int ret = RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_6_0, (void**)&renderDocApi);
int ret = RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_7_0, (void**)&renderDocApi);
if (ret != 1 || !renderDocApi) {
logger::warn("[RenderDoc] Failed to get API interface");
FreeLibrary((HMODULE)renderDocModule);
Expand Down
4 changes: 2 additions & 2 deletions src/Features/RenderDoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ using json = nlohmann::json;

// Forward declarations
struct ID3D11Device;
struct RENDERDOC_API_1_6_0;
struct RENDERDOC_API_1_7_0;
Comment thread
alandtse marked this conversation as resolved.

// Structure to hold capture file information for UI display
struct CaptureFileInfo
Expand Down Expand Up @@ -104,7 +104,7 @@ class RenderDoc : public Feature

// RenderDoc library and API
void* renderDocModule = nullptr;
RENDERDOC_API_1_6_0* renderDocApi = nullptr;
RENDERDOC_API_1_7_0* renderDocApi = nullptr;

// Pending comments to attach to the next capture (applied when a new capture is detected)
std::string pendingCaptureComments;
Expand Down
Loading