(WIP) add custom shader support

TODO:
- come up with a clean interface that hides away the messy bstr/texture
  business from the mpv universe
- integrate into the renderer
10 jobs for custom_shaders in 31 seconds
latest
Status Job ID Name Coverage
  Build
failed #272759
debian aarch64
build-debian-aarch64

00:00:24

failed #272760
macos
build-macos

00:00:03

failed #272755
amd64 debian
build-ubuntu

00:00:28

failed #272756
amd64 debian
build-ubuntu-static

00:00:28

failed #272757
win32
build-win32

00:00:29

failed #272758
win64
build-win64

00:00:29

 
  Test
skipped #272761
amd64 debian
test-ubuntu-asan
skipped #272762
amd64 debian
test-ubuntu-msan
skipped #272764
amd64 debian
test-ubuntu-scan
skipped #272763
amd64 debian
test-ubuntu-ubsan
 
Name Stage Failure
failed
build-win64 Build
      ^~~~~~~~~~~~~~~~~~~
[18/26] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/siphash.c.obj'.
[19/26] Compiling C object 'subprojects/xtalloc/subprojects@xtalloc@@xtalloc@sta/xtalloc.c.obj'.
[20/26] Compiling C object 'subprojects/xtalloc/subprojects@xtalloc@@xtalloc@sta/ta_utils.c.obj'.
[21/26] Compiling C object 'subprojects/xtalloc/subprojects@xtalloc@@xtalloc@sta/ta.c.obj'.
[22/26] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/format.c.obj'.
[23/26] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/bstr.c.obj'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit code 1
failed
build-win32 Build
                 from ../src/common.h:46,
from ../src/gpu.c:18:
../src/./include/libplacebo/shaders/custom.h:135:6: note: previous declaration of 'pl_shader_av1_grain' was here
void pl_shader_av1_grain(struct pl_shader *sh,
^~~~~~~~~~~~~~~~~~~
[22/26] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/format.c.obj'.
[23/26] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/bstr.c.obj'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit code 1
failed
build-ubuntu-static Build
                 from ../src/vulkan/common.h:20,
from ../src/vulkan/malloc.h:20,
from ../src/vulkan/malloc.c:18:
../src/./include/libplacebo/shaders/custom.h:135:6: note: previous declaration of 'pl_shader_av1_grain' was here
void pl_shader_av1_grain(struct pl_shader *sh,
^~~~~~~~~~~~~~~~~~~
[42/51] Compiling C++ object 'src/src@@placebo@sta/glsl_glslang.cc.o'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit code 1
failed
build-ubuntu Build
                 from ../src/vulkan/common.h:20,
from ../src/vulkan/malloc.h:20,
from ../src/vulkan/malloc.c:18:
../src/./include/libplacebo/shaders/custom.h:135:6: note: previous declaration of 'pl_shader_av1_grain' was here
void pl_shader_av1_grain(struct pl_shader *sh,
^~~~~~~~~~~~~~~~~~~
[40/52] Compiling C++ object 'src/src@@placebo@sha/glsl_glslang.cc.o'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit code 1
failed
build-debian-aarch64 Build
../src/./include/libplacebo/shaders/custom.h:135:6: note: previous declaration of 'pl_shader_av1_grain' was here
void pl_shader_av1_grain(struct pl_shader *sh,
^~~~~~~~~~~~~~~~~~~
[6/39] Compiling C object 'subprojects/xtalloc/subprojects@xtalloc@@xtalloc@sta/ta.c.o'.
[7/39] Compiling C object 'subprojects/xtalloc/subprojects@xtalloc@@xtalloc@sta/ta_utils.c.o'.
[8/39] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/format.c.o'.
[9/39] Compiling C object 'subprojects/bstr/subprojects@bstr@@bstr@sta/bstr.c.o'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit code 1
failed
build-macos Build
       ^
../src/./include/libplacebo/shaders/custom.h:90:8: note: previous definition is here
struct pl_grain_params {
^
1 error generated.
[10/40] Compiling C object 'subprojects/bstr/0ab0a38@@bstr@sta/format.c.o'.
[11/40] Compiling C object 'subprojects/bstr/0ab0a38@@bstr@sta/bstr.c.o'.
ninja: build stopped: subcommand failed.
ERROR: Job failed: exit status 1