summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/libplacebo/android_opengl_custom_dispatch.diff
blob: e8b2ecf6e1e7399d638102a6ac88f7ab34e68dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
diff --git a/src/dispatch.c b/src/dispatch.c
index 218b556..70be9aa 100644
--- a/src/dispatch.c
+++ b/src/dispatch.c
@@ -1541,7 +1541,7 @@ bool pl_dispatch_vertex(pl_dispatch dp, const struct pl_dispatch_vertex_params *
     case PL_COORDS_NORMALIZED:
         if (params->vertex_flipped) {
             proj.mat.m[1][1] = -proj.mat.m[1][1];
-            proj.c[1] += 2.0;
+            //proj.c[1] += 2.0;
         }
         break;
     }
@@ -1566,7 +1566,7 @@ bool pl_dispatch_vertex(pl_dispatch dp, const struct pl_dispatch_vertex_params *
 
     // Update the scissors
     rparams->scissors = params->scissors;
-    if (params->vertex_flipped) {
+    if (params->vertex_flipped && rparams->scissors.y0 != rparams->scissors.y1) {
         rparams->scissors.y0 = tpars->h - rparams->scissors.y0;
         rparams->scissors.y1 = tpars->h - rparams->scissors.y1;
     }
diff --git a/src/shaders/custom_mpv.c b/src/shaders/custom_mpv.c
index 1c93da5..bd6450d 100644
--- a/src/shaders/custom_mpv.c
+++ b/src/shaders/custom_mpv.c
@@ -1191,10 +1191,10 @@ static bool bind_pass_tex(pl_shader sh, pl_str name,
         GLSLH("#define HOOKED_pt %.*s_pt \n", PL_STR_FMT(name));
         GLSLH("#define HOOKED_map %.*s_map \n", PL_STR_FMT(name));
         GLSLH("#define HOOKED_mul %.*s_mul \n", PL_STR_FMT(name));
-        GLSLH("#define HOOKED_tex %.*s_tex \n", PL_STR_FMT(name));
-        GLSLH("#define HOOKED_texOff %.*s_texOff \n", PL_STR_FMT(name));
+        GLSLH("#define HOOKED_tex(pos) %.*s_tex(pos) \n", PL_STR_FMT(name));
+        GLSLH("#define HOOKED_texOff(off) %.*s_texOff(off) \n", PL_STR_FMT(name));
         if (can_gather)
-            GLSLH("#define HOOKED_gather %.*s_gather \n", PL_STR_FMT(name));
+            GLSLH("#define HOOKED_gather(pos, c) %.*s_gather(pos, c) \n", PL_STR_FMT(name));
     }
 
     if (mainpresub) {
@@ -1206,10 +1206,10 @@ static bool bind_pass_tex(pl_shader sh, pl_str name,
         GLSLH("#define MAIN_pt MAINPRESUB_pt \n");
         GLSLH("#define MAIN_map MAINPRESUB_map \n");
         GLSLH("#define MAIN_mul MAINPRESUB_mul \n");
-        GLSLH("#define MAIN_tex MAINPRESUB_tex \n");
-        GLSLH("#define MAIN_texOff MAINPRESUB_texOff \n");
+        GLSLH("#define MAIN_tex(pos) MAINPRESUB_tex(pos) \n");
+        GLSLH("#define MAIN_texOff(off) MAINPRESUB_texOff(off) \n");
         if (can_gather)
-            GLSLH("#define MAIN_gather MAINPRESUB_gather \n");
+            GLSLH("#define MAIN_gather(pos, c) MAINPRESUB_gather(pos, c) \n");
     }
 
     return true;