diff options
| author | 2025-01-01 16:39:27 -0500 | |
|---|---|---|
| committer | 2025-01-01 16:39:27 -0500 | |
| commit | 298debac881c1e7ca5e3a28834f32ff3e74e45f6 (patch) | |
| tree | c28d35b674196d2fac22da7a3ac0eb3f0eda200d | |
| parent | 30676d6ded6448c7e1581057bcf3263daffc8e5b (diff) | |
| download | camu-298debac881c1e7ca5e3a28834f32ff3e74e45f6.tar.gz camu-298debac881c1e7ca5e3a28834f32ff3e74e45f6.tar.bz2 camu-298debac881c1e7ca5e3a28834f32ff3e74e45f6.zip | |
Add libplacebo patches to the flake
Signed-off-by: Andrew Opalach <andrew@akon.city>
| -rw-r--r-- | flake.nix | 18 | ||||
| -rw-r--r-- | subprojects/packagefiles/libplacebo/glClientWaitSync_0_return.diff | 12 | ||||
| -rw-r--r-- | subprojects/packagefiles/libplacebo/info_priv_hash.diff | 14 |
3 files changed, 43 insertions, 1 deletions
@@ -16,12 +16,28 @@ }; outputs = { self, nixpkgs, nixos-hardware, nixos-wsl, home-manager }: let + overlays = [ + (self: super: { + libplacebo = super.libplacebo.overrideAttrs (old: { + patches = [ + ./subprojects/packagefiles/libplacebo/cache_ref_rect.diff + ./subprojects/packagefiles/libplacebo/fix_rotate.diff + ./subprojects/packagefiles/libplacebo/glClientWaitSync_0_return.diff + ./subprojects/packagefiles/libplacebo/info_priv_hash.diff + ]; + }); + }) + ]; forAllSupportedSystems = function: nixpkgs.lib.genAttrs [ "x86_64-linux" "i686-linux" "aarch64-linux" - ] (system: function nixpkgs.legacyPackages.${system}); + ] (system: + function (import nixpkgs { + inherit system; + inherit overlays; + })); forAllDevSystems = function: nixpkgs.lib.genAttrs [ "x86_64-linux" diff --git a/subprojects/packagefiles/libplacebo/glClientWaitSync_0_return.diff b/subprojects/packagefiles/libplacebo/glClientWaitSync_0_return.diff new file mode 100644 index 0000000..e2ddb49 --- /dev/null +++ b/subprojects/packagefiles/libplacebo/glClientWaitSync_0_return.diff @@ -0,0 +1,12 @@ +diff --git a/src/opengl/utils.c b/src/opengl/utils.c +index d96a3e7..c292a70 100644 +--- a/src/opengl/utils.c ++++ b/src/opengl/utils.c +@@ -58,6 +58,7 @@ void gl_poll_callbacks(pl_gpu gpu) + gl_check_err(gpu, "gl_poll_callbacks"); // NOTE: will recurse! + return; + ++ case 0: + case GL_TIMEOUT_EXPIRED: + return; + diff --git a/subprojects/packagefiles/libplacebo/info_priv_hash.diff b/subprojects/packagefiles/libplacebo/info_priv_hash.diff new file mode 100644 index 0000000..4e7350f --- /dev/null +++ b/subprojects/packagefiles/libplacebo/info_priv_hash.diff @@ -0,0 +1,14 @@ +diff --git a/src/renderer.c b/src/renderer.c +index 7622523..ecd4227 100644 +--- a/src/renderer.c ++++ b/src/renderer.c +@@ -3248,6 +3248,9 @@ static struct params_info render_params_info(const struct pl_render_params *para + HASH_PTR(params.color_adjustment, &pl_color_adjustment_neutral, true); + HASH_PTR(params.color_map_params, &pl_color_map_default_params, true); + HASH_PTR(params.peak_detect_params, NULL, false); ++ intptr_t info_priv = (intptr_t)params.info_priv; ++ intptr_t *info_priv_ptr = &info_priv; ++ HASH_PTR(info_priv_ptr, NULL, false); + + // Hash all hooks + for (int i = 0; i < params.num_hooks; i++) { |