summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-26 15:08:16 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-26 15:08:16 -0400
commit6094c907b26e21f13373bae6bf3306dbae40af3c (patch)
tree981864ddb1ab9749d3e10a81edc782311826e101 /subprojects/packagefiles
parentda9bddc70ff8544f3294b880d719c4605e87ad97 (diff)
downloadcamu-6094c907b26e21f13373bae6bf3306dbae40af3c.tar.gz
camu-6094c907b26e21f13373bae6bf3306dbae40af3c.tar.bz2
camu-6094c907b26e21f13373bae6bf3306dbae40af3c.zip
Update deps, small changes and cleanup
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'subprojects/packagefiles')
-rw-r--r--subprojects/packagefiles/ffmpeg/meson.build9
-rw-r--r--subprojects/packagefiles/ffmpeg/meson_options.txt3
-rw-r--r--subprojects/packagefiles/ffmpeg/version_9.0.1.diff29
-rw-r--r--subprojects/packagefiles/libcdio-paranoia/meson.build3
-rw-r--r--subprojects/packagefiles/libplacebo/android_opengl_custom_dispatch.diff54
-rw-r--r--subprojects/packagefiles/libplacebo/glslang_meson_wrap.diff40
-rw-r--r--subprojects/packagefiles/libplacebo/no_uniforms_in_vert.diff89
-rw-r--r--subprojects/packagefiles/libplacebo/shaderc_optimize_size.diff13
8 files changed, 232 insertions, 8 deletions
diff --git a/subprojects/packagefiles/ffmpeg/meson.build b/subprojects/packagefiles/ffmpeg/meson.build
index ed3617c..aa881bc 100644
--- a/subprojects/packagefiles/ffmpeg/meson.build
+++ b/subprojects/packagefiles/ffmpeg/meson.build
@@ -12,6 +12,7 @@ is_windows = host_machine.system() == 'windows'
is_msvc = compiler.get_id() == 'msvc' or compiler.get_id() == 'clang-cl'
is_mingw = is_windows and not is_msvc
is_android = host_machine.system() == 'android'
+is_static_shared_lib = is_android
args = ['-DFFMPEG_VERSION="' + meson.project_version() + '"']
deps = []
@@ -33,9 +34,6 @@ endif
extra_options += ['--arch=' + cpu]
extra_options += ['--cc=' + compiler.cmd_array()[0]]
if meson.is_cross_build()
- if is_msvc
- extra_options += ['--ld=' + meson.get_external_property('ld')]
- endif
extra_options += ['--ar=' + meson.get_external_property('ar', 'ar')]
extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')]
endif
@@ -45,6 +43,9 @@ if cpu == 'x86_64' or cpu == 'x86'
endif
extra_options += ['--enable-static', '--disable-shared']
+if is_static_shared_lib
+ extra_options += ['--enable-pic']
+endif
if is_windows
if get_option('win32-compat')
@@ -211,7 +212,6 @@ extra_options += [
'--disable-nvdec',
'--disable-nvenc',
'--disable-vdpau',
- '--disable-audiotoolbox',
'--disable-videotoolbox'
]
@@ -262,7 +262,6 @@ proj = ext_proj.add_project('configure',
'--prefix=@PREFIX@',
'--libdir=@PREFIX@/@LIBDIR@',
'--incdir=@PREFIX@/@INCLUDEDIR@',
- '--enable-pic',
'--disable-all',
'--disable-autodetect',
'--disable-everything',
diff --git a/subprojects/packagefiles/ffmpeg/meson_options.txt b/subprojects/packagefiles/ffmpeg/meson_options.txt
index d58d8fd..7854d28 100644
--- a/subprojects/packagefiles/ffmpeg/meson_options.txt
+++ b/subprojects/packagefiles/ffmpeg/meson_options.txt
@@ -1,6 +1,5 @@
# Copy-paste from top-level project.
+option('sink-only', type: 'boolean', value: false, yield: true)
option('codec-hwaccels', type: 'array', choices: ['vulkan', 'vaapi', 'mediacodec', 'd3d11va', 'dxva2'], value: [], yield: true)
-option('renderer-api', type: 'combo', choices: ['vulkan', 'dx11', 'gl', 'gl-rpi'], value: 'vulkan', yield: true)
option('subtitles', type: 'feature', value: 'enabled', yield: true)
option('win32-compat', type: 'boolean', value: false, yield: true)
-option('sink-only', type: 'boolean', value: false, yield: true)
diff --git a/subprojects/packagefiles/ffmpeg/version_9.0.1.diff b/subprojects/packagefiles/ffmpeg/version_9.0.1.diff
new file mode 100644
index 0000000..8c10f1c
--- /dev/null
+++ b/subprojects/packagefiles/ffmpeg/version_9.0.1.diff
@@ -0,0 +1,29 @@
+--- a/meson.build 2025-08-23 18:44:34.634014892 -0400
++++ b/meson.build 2025-08-25 15:33:36.209533531 -0400
+@@ -1,4 +1,4 @@
+-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0')
++project('ffmpeg', 'c', version: '9.0.1', meson_version: '>=0.57.0')
+
+ compiler = meson.get_compiler('c')
+
+@@ -268,14 +268,14 @@
+ swscale = proj.dependency('swscale')
+ include = include_directories('.', 'build/')
+ meson.override_dependency('libavutil', declare_dependency(
+- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: ''))
++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '61.1.100'))
+ meson.override_dependency('libavformat', declare_dependency(
+- dependencies: [avformat], include_directories: include, version: ''))
++ dependencies: [avformat], include_directories: include, version: '63.1.100'))
+ meson.override_dependency('libavcodec', declare_dependency(
+- dependencies: [avcodec], include_directories: include, version: ''))
++ dependencies: [avcodec], include_directories: include, version: '63.1.100'))
+ meson.override_dependency('libavdevice', declare_dependency(
+- dependencies: [avdevice], include_directories: include, version: ''))
++ dependencies: [avdevice], include_directories: include, version: '63.1.100'))
+ meson.override_dependency('libswresample', declare_dependency(
+- dependencies: [swresample], include_directories: include, version: ''))
++ dependencies: [swresample], include_directories: include, version: '7.1.100'))
+ meson.override_dependency('libswscale', declare_dependency(
+- dependencies: [swscale], include_directories: include, version: ''))
++ dependencies: [swscale], include_directories: include, version: '10.1.100'))
diff --git a/subprojects/packagefiles/libcdio-paranoia/meson.build b/subprojects/packagefiles/libcdio-paranoia/meson.build
index 82b07b3..c8ee719 100644
--- a/subprojects/packagefiles/libcdio-paranoia/meson.build
+++ b/subprojects/packagefiles/libcdio-paranoia/meson.build
@@ -1,7 +1,8 @@
-project('libcdio-paranoia', 'c', version: 'git-717f126', meson_version: '>=0.57.0')
+project('libcdio-paranoia', 'c', version: 'git-384f4da', meson_version: '>=0.57.0')
ext_proj = import('unstable-external_project')
+# @TODO: Couldn't this work for shaderc?
run_command('autoreconf', '-fi', check: true)
proj = ext_proj.add_project('configure',
diff --git a/subprojects/packagefiles/libplacebo/android_opengl_custom_dispatch.diff b/subprojects/packagefiles/libplacebo/android_opengl_custom_dispatch.diff
new file mode 100644
index 0000000..e8b2ecf
--- /dev/null
+++ b/subprojects/packagefiles/libplacebo/android_opengl_custom_dispatch.diff
@@ -0,0 +1,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;
diff --git a/subprojects/packagefiles/libplacebo/glslang_meson_wrap.diff b/subprojects/packagefiles/libplacebo/glslang_meson_wrap.diff
new file mode 100644
index 0000000..d722bef
--- /dev/null
+++ b/subprojects/packagefiles/libplacebo/glslang_meson_wrap.diff
@@ -0,0 +1,40 @@
+diff --git a/src/glsl/meson.build b/src/glsl/meson.build
+index c9a8542..499042a 100644
+--- a/src/glsl/meson.build
++++ b/src/glsl/meson.build
+@@ -30,7 +30,7 @@ if glslang_req.auto() and shaderc.found()
+ elif not glslang_req.disabled()
+
+ glslang_deps = [
+- cxx.find_library('glslang-default-resource-limits', required: false)
++ dependency('glslang-default-resource-limits', required: false)
+ ]
+
+ # meson doesn't respect generator expressions in INTERFACE_LINK_LIBRARIES
+@@ -49,7 +49,7 @@ elif not glslang_req.disabled()
+ static = arg[0]
+ required = arg[1]
+
+- spirv = cxx.find_library('SPIRV', required: required, static: static, dirs: vulkan_lib_dirs)
++ spirv = dependency('SPIRV', required: required, static: static)
+
+ if not spirv.found()
+ continue
+@@ -59,7 +59,7 @@ elif not glslang_req.disabled()
+
+ # Glslang 15.0.0 moved some code around, add also linking to glslang, while
+ # this is not needed for older versions, it will still work.
+- glslang_deps += cxx.find_library('glslang', required: required, static: static)
++ glslang_deps += dependency('glslang', required: required, static: static)
+
+ if static
+ glslang_deps += [
+@@ -78,7 +78,7 @@ elif not glslang_req.disabled()
+ break
+ endforeach
+
+- if found_lib and cc.has_header('glslang/build_info.h')
++ if found_lib
+ glslang = declare_dependency(dependencies: glslang_deps)
+ endif
+
diff --git a/subprojects/packagefiles/libplacebo/no_uniforms_in_vert.diff b/subprojects/packagefiles/libplacebo/no_uniforms_in_vert.diff
new file mode 100644
index 0000000..8797d34
--- /dev/null
+++ b/subprojects/packagefiles/libplacebo/no_uniforms_in_vert.diff
@@ -0,0 +1,89 @@
+diff --git a/src/dispatch.c b/src/dispatch.c
+index 218b556..067efc7 100644
+--- a/src/dispatch.c
++++ b/src/dispatch.c
+@@ -29,6 +29,7 @@
+
+ enum {
+ TMP_PRELUDE, // GLSL version, global definitions, etc.
++ TMP_UNIFORMS,
+ TMP_MAIN, // main GLSL shader body
+ TMP_VERT_HEAD, // vertex shader inputs/outputs
+ TMP_VERT_BODY, // vertex shader body
+@@ -304,15 +305,16 @@ static void generate_shaders(pl_dispatch dp,
+ pl_str_builder shader_body = sh_finalize_internal(sh);
+
+ pl_str_builder pre = dp->tmp[TMP_PRELUDE];
++ pl_str_builder uni = dp->tmp[TMP_UNIFORMS];
+ ADD(pre, "#version %d%s\n", gpu->glsl.version,
+ (gpu->glsl.gles && gpu->glsl.version > 100) ? " es" : "");
+ if (pass_params->type == PL_PASS_COMPUTE)
+- ADD(pre, "#extension GL_ARB_compute_shader : enable\n");
++ ADD(uni, "#extension GL_ARB_compute_shader : enable\n");
+
+ // Enable this unconditionally if the GPU supports it, since we have no way
+ // of knowing whether subgroups are being used or not
+ if (gpu->glsl.subgroup_size) {
+- ADD(pre, "#extension GL_KHR_shader_subgroup_basic : enable \n"
++ ADD(uni, "#extension GL_KHR_shader_subgroup_basic : enable \n"
+ "#extension GL_KHR_shader_subgroup_vote : enable \n"
+ "#extension GL_KHR_shader_subgroup_arithmetic : enable \n"
+ "#extension GL_KHR_shader_subgroup_ballot : enable \n"
+@@ -360,24 +362,24 @@ static void generate_shaders(pl_dispatch dp,
+ }
+
+ if (has_img && !gpu->glsl.gles)
+- ADD(pre, "#extension GL_ARB_shader_image_load_store : enable\n");
++ ADD(uni, "#extension GL_ARB_shader_image_load_store : enable\n");
+ if (has_ubo)
+- ADD(pre, "#extension GL_ARB_uniform_buffer_object : enable\n");
++ ADD(uni, "#extension GL_ARB_uniform_buffer_object : enable\n");
+ if (has_ssbo)
+- ADD(pre, "#extension GL_ARB_shader_storage_buffer_object : enable\n");
++ ADD(uni, "#extension GL_ARB_shader_storage_buffer_object : enable\n");
+ if (has_texel)
+- ADD(pre, "#extension GL_ARB_texture_buffer_object : enable\n");
++ ADD(uni, "#extension GL_ARB_texture_buffer_object : enable\n");
+ if (has_ext) {
+ if (gpu->glsl.version >= 300) {
+- ADD(pre, "#extension GL_OES_EGL_image_external_essl3 : enable\n");
++ ADD(uni, "#extension GL_OES_EGL_image_external_essl3 : enable\n");
+ } else {
+- ADD(pre, "#extension GL_OES_EGL_image_external : enable\n");
++ ADD(uni, "#extension GL_OES_EGL_image_external : enable\n");
+ }
+ }
+ if (has_nofmt)
+- ADD(pre, "#extension GL_EXT_shader_image_load_formatted : enable\n");
++ ADD(uni, "#extension GL_EXT_shader_image_load_formatted : enable\n");
+ if (has_gather && !gpu->glsl.gles)
+- ADD(pre, "#extension GL_ARB_texture_gather : enable\n");
++ ADD(uni, "#extension GL_ARB_texture_gather : enable\n");
+
+ if (gpu->glsl.gles) {
+ // Use 32-bit precision for floats if possible
+@@ -527,12 +529,12 @@ static void generate_shaders(pl_dispatch dp,
+
+ case PL_DESC_BUF_UNIFORM:
+ if (gpu->glsl.vulkan) {
+- ADD(pre, "layout(std140, binding=%d) ", desc->binding);
++ ADD(uni, "layout(std140, binding=%d) ", desc->binding);
+ } else {
+- ADD(pre, "layout(std140) ");
++ ADD(uni, "layout(std140) ");
+ }
+- ADD(pre, "uniform "$" ", sh_ident_unpack(desc->name));
+- add_buffer_vars(dp, tmp, pre, sd->buffer_vars, sd->num_buffer_vars);
++ ADD(uni, "uniform "$" ", sh_ident_unpack(desc->name));
++ add_buffer_vars(dp, tmp, uni, sd->buffer_vars, sd->num_buffer_vars);
+ break;
+
+ case PL_DESC_BUF_STORAGE:
+@@ -599,6 +601,7 @@ static void generate_shaders(pl_dispatch dp,
+
+ pl_str_builder glsl = dp->tmp[TMP_MAIN];
+ ADD_CAT(glsl, pre);
++ ADD_CAT(glsl, uni);
+
+ switch(pass_params->type) {
+ case PL_PASS_RASTER: {
diff --git a/subprojects/packagefiles/libplacebo/shaderc_optimize_size.diff b/subprojects/packagefiles/libplacebo/shaderc_optimize_size.diff
new file mode 100644
index 0000000..90d75e1
--- /dev/null
+++ b/subprojects/packagefiles/libplacebo/shaderc_optimize_size.diff
@@ -0,0 +1,13 @@
+diff --git a/src/glsl/spirv_shaderc.c b/src/glsl/spirv_shaderc.c
+index 3afd750..8c3d5e0 100644
+--- a/src/glsl/spirv_shaderc.c
++++ b/src/glsl/spirv_shaderc.c
+@@ -112,7 +112,7 @@ static pl_str shaderc_compile(pl_spirv spirv, void *alloc,
+ return (pl_str) {0};
+
+ shaderc_compile_options_set_optimization_level(opts,
+- shaderc_optimization_level_performance);
++ shaderc_optimization_level_size);
+ shaderc_compile_options_set_target_spirv(opts, spirv->version.spv_version);
+ shaderc_compile_options_set_target_env(opts, shaderc_target_env_vulkan,
+ spirv->version.env_version);