]> git.sesse.net Git - movit/blobdiff - overlay_effect.cpp
Fix an issue where a (cached) shader program could be used from multiple
[movit] / overlay_effect.cpp
index 799c359739adbe9ecca559874d3c9a058ae29d20..3440f76bf6a5a415325c0b7eb9af7cd15c20b48d 100644 (file)
@@ -1,9 +1,21 @@
 #include "overlay_effect.h"
 #include "util.h"
 
-OverlayEffect::OverlayEffect() {}
+using namespace std;
 
-std::string OverlayEffect::output_fragment_shader()
+namespace movit {
+
+OverlayEffect::OverlayEffect()
+       : swap_inputs(false)
 {
-       return read_file("overlay_effect.frag");
+       register_int("swap_inputs", (int *)&swap_inputs);
 }
+
+string OverlayEffect::output_fragment_shader()
+{
+       char buf[256];
+       snprintf(buf, sizeof(buf), "#define SWAP_INPUTS %d\n", swap_inputs);
+       return buf + read_file("overlay_effect.frag");
+}
+
+}  // namespace movit