[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