summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/user_shaders.c
diff options
context:
space:
mode:
authorNiklas Haas <git@haasn.xyz>2017-07-20 11:26:01 +0200
committerNiklas Haas <git@haasn.xyz>2017-07-24 17:19:34 +0200
commit0c84ee01d5387e7c59d97de71046d173e4c3461a (patch)
tree6919885f0481f5927a8e69fe482a5fdce9e805d1 /video/out/opengl/user_shaders.c
parentf338ec45912846a75dbb4217cad000ceb9b33d40 (diff)
downloadmpv-0c84ee01d5387e7c59d97de71046d173e4c3461a.tar.bz2
mpv-0c84ee01d5387e7c59d97de71046d173e4c3461a.tar.xz
vo_opengl: support user compute shaders
These are identical to regular fragment shader hooks, but with extra metadata indicating the preferred block size.
Diffstat (limited to 'video/out/opengl/user_shaders.c')
-rw-r--r--video/out/opengl/user_shaders.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/video/out/opengl/user_shaders.c b/video/out/opengl/user_shaders.c
index 427295b0ad..718034fa2d 100644
--- a/video/out/opengl/user_shaders.c
+++ b/video/out/opengl/user_shaders.c
@@ -269,6 +269,14 @@ bool parse_user_shader_pass(struct mp_log *log, struct bstr *body,
continue;
}
+ if (bstr_eatstart0(&line, "COMPUTE")) {
+ if (bstr_sscanf(line, "%d %d", &out->compute_w, &out->compute_h) != 2) {
+ mp_err(log, "Error while parsing COMPUTE!\n");
+ return false;
+ }
+ continue;
+ }
+
// Unknown command type
mp_err(log, "Unrecognized command '%.*s'!\n", BSTR_P(line));
return false;