[Scummvm-git-logs] scummvm master -> c1311ff2b29829516d2ee2b440b5e57466647d12
lephilousophe
noreply at scummvm.org
Sat Oct 15 18:49:08 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c1311ff2b2 BACKENDS: OPENGL: Add support for PassPrev# uniforms
Commit: c1311ff2b29829516d2ee2b440b5e57466647d12
https://github.com/scummvm/scummvm/commit/c1311ff2b29829516d2ee2b440b5e57466647d12
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2022-10-15T20:48:52+02:00
Commit Message:
BACKENDS: OPENGL: Add support for PassPrev# uniforms
They are not documented but used by some shaders.
They point at previous passes inputs.
Changed paths:
backends/graphics/opengl/pipelines/libretro.cpp
diff --git a/backends/graphics/opengl/pipelines/libretro.cpp b/backends/graphics/opengl/pipelines/libretro.cpp
index d45c853e20f..aaf7fe4ba38 100644
--- a/backends/graphics/opengl/pipelines/libretro.cpp
+++ b/backends/graphics/opengl/pipelines/libretro.cpp
@@ -477,8 +477,12 @@ void LibRetroPipeline::setupPassUniforms(const uint id) {
// Set texture dimensions for input, original, and the passes.
setShaderTexUniforms(Common::String(), shader, *pass.inputTexture);
setShaderTexUniforms("Orig", shader, *_passes[0].inputTexture);
+ if (id >= 1) {
+ setShaderTexUniforms(Common::String::format("PassPrev%u", id), shader, *_passes[0].inputTexture);
+ }
for (uint passId = 1; id >= 2 && passId <= id - 1; ++passId) {
setShaderTexUniforms(Common::String::format("Pass%u", passId), shader, *_passes[passId].inputTexture);
+ setShaderTexUniforms(Common::String::format("PassPrev%u", id - passId), shader, *_passes[passId].inputTexture);
}
// TODO: We do not support Prev right now. Instead we always use the orig
@@ -561,8 +565,12 @@ void LibRetroPipeline::Pass::buildTexSamplers(const uint id, const TextureArray
}
// 2. Step: Assign pass inputs to samplers.
+ if (id >= 1) {
+ addTexSampler(Common::String::format("PassPrev%u", id), &sampler, TextureSampler::kTypePass, 0);
+ }
for (uint pass = 1; id >= 2 && pass <= id - 1; ++pass) {
addTexSampler(Common::String::format("Pass%u", pass), &sampler, TextureSampler::kTypePass, pass);
+ addTexSampler(Common::String::format("PassPrev%u", id - pass), &sampler, TextureSampler::kTypePass, pass);
}
// 3. Step: Assign original input to samplers.
More information about the Scummvm-git-logs
mailing list