Conversation
kakra
force-pushed
the
fix/effect-texture-compatibility
branch
from
August 25, 2026 20:02
34b9f72 to
40f676f
Compare
kakra
marked this pull request as ready for review
August 25, 2026 20:05
kakra
force-pushed
the
fix/effect-texture-compatibility
branch
from
August 26, 2026 06:33
40f676f to
7c9f8f0
Compare
kakra
marked this pull request as draft
August 26, 2026 20:08
Contributor
Author
|
On hold until mipmap/color depth surfaced in the main branch. |
Match ReShade's back-buffer bit depth semantics for packed, float, and uncommon presentation formats instead of assuming that every unhandled format is 8-bit. Keep the mapping in a focused helper and cover the reference values and fallback behavior with tests.
Translate the active Vulkan color format to ReShade API values and normalize sRGB variants before exposing BUFFER_COLOR_FORMAT to effect preprocessing.
kakra
force-pushed
the
fix/effect-texture-compatibility
branch
from
September 20, 2026 11:34
7c9f8f0 to
87378cb
Compare
Contributor
Author
|
Rebased the series onto the current |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Improve compatibility with ReShade effects that rely on initialized internal textures, mipmaps, sRGB texture semantics, and accurate back-buffer metadata.
The implementation aligns vkShade's Vulkan resources more closely with the resource and preprocessor behavior expected by ReShade effects.
Internal textures and mipmaps
Resolve file-backed texture metadata before allocating Vulkan resources and clean up partially constructed images if initialization fails.
Persistent internal textures are initialized before their first use so effects can safely sample temporal history or other resources that have not yet been written.
Allocate the mip levels declared by effects and regenerate their mip chains after writing passes when requested by the effect. File-backed textures receive the same mipmap handling after upload.
Linear and sRGB views
Create compatible linear and sRGB image views where Vulkan permits them.
Sampling, render-target attachment selection, and pipeline formats follow the effect's declared sRGB semantics. This allows effects to distinguish correctly between linear resource access and sRGB conversion without duplicating the underlying image.
Back-buffer metadata
Build on the upstream bit-depth and color-space support introduced by #113.
Replace the limited bit-depth helper with a ReShade-compatible mapping that covers additional packed, floating-point, and high-precision Vulkan formats. Unknown or unsupported formats use the corresponding ReShade fallback instead of being treated as conventional 8-bit or 16-bit back buffers.
Also provide
BUFFER_COLOR_FORMATusing ReShade API format values rather than raw Vulkan enums. Linear and sRGB Vulkan variants are normalized to the corresponding typed ReShade format.The bit-depth and color-format mappings are kept in a focused metadata helper with unit coverage for the supported formats.
Validation
git diff --checkis clean.Deband.fxloads with the expected back-buffer metadata.