From 6cd7ae653f8be4feaf8a16a3359f59798725bb6e Mon Sep 17 00:00:00 2001 From: Khyber Sen Date: Thu, 9 Nov 2023 15:32:55 -0800 Subject: [PATCH] `fn {generate_grain_uv,fguv_32x32xn}_{rust,c_erased}`: Put `#[inline(never)]` on the `fn *_c_erased`s, not the `fn *_rust`s. The C `NOINLINE`s were originally on the `*_c` functions, which are called through `fn` ptrs and makes sense. The `fn *_rust`s are called only by the `fn *_c_erased`s, which are called through `fn` ptrs, so we were accidentally forcing an extra `fn` call due to mixing this up. --- src/filmgrain.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/filmgrain.rs b/src/filmgrain.rs index e1b874ad6..be47cfffd 100644 --- a/src/filmgrain.rs +++ b/src/filmgrain.rs @@ -409,7 +409,6 @@ unsafe fn generate_grain_y_rust( } } -#[inline(never)] unsafe fn generate_grain_uv_rust( buf: &mut GrainLut, buf_y: &GrainLut, @@ -492,6 +491,7 @@ unsafe fn generate_grain_uv_rust( } } +#[inline(never)] unsafe extern "C" fn generate_grain_uv_c_erased< BD: BitDepth, const NM: usize, @@ -693,7 +693,6 @@ unsafe fn fgy_32x32xn_rust( } } -#[inline(never)] unsafe fn fguv_32x32xn_rust( dst_row: *mut BD::Pixel, src_row: *const BD::Pixel, @@ -850,6 +849,7 @@ unsafe fn fguv_32x32xn_rust( } } +#[inline(never)] unsafe extern "C" fn fguv_32x32xn_c_erased< BD: BitDepth, const NM: usize,