From 9f5d218e16113c0d6e1365126cc462f8e3a54e8e Mon Sep 17 00:00:00 2001 From: jpark37 Date: Wed, 14 Aug 2019 21:36:23 -0700 Subject: [PATCH] libobs: Remove unnecessary divides from Lanczos --- libobs/data/lanczos_scale.effect | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libobs/data/lanczos_scale.effect b/libobs/data/lanczos_scale.effect index 4d21543ec..bc9241438 100644 --- a/libobs/data/lanczos_scale.effect +++ b/libobs/data/lanczos_scale.effect @@ -112,14 +112,16 @@ float4 DrawLanczos(FragData f_in, bool undistort) float3 coltap135 = weight3(f_rev_half.y + 0.5); // Need normalization if divided value near zero - float rowsum = rowtap024.x + rowtap024.y + rowtap024.z; - rowsum += rowtap135.x + rowtap135.y + rowtap135.z; - rowtap024 = rowtap024 / rowsum; - rowtap135 = rowtap135 / rowsum; - float colsum = coltap024.x + coltap024.y + coltap024.z; - colsum += coltap135.x + coltap135.y + coltap135.z; - coltap024 = coltap024 / colsum; - coltap135 = coltap135 / colsum; + float rowsum = rowtap024.x + rowtap024.y + rowtap024.z + + rowtap135.x + rowtap135.y + rowtap135.z; + float rowsum_i = 1.0 / rowsum; + rowtap024 = rowtap024 * rowsum_i; + rowtap135 = rowtap135 * rowsum_i; + float colsum = coltap024.x + coltap024.y + coltap024.z + + coltap135.x + coltap135.y + coltap135.z; + float colsum_i = 1.0 / colsum; + coltap024 = coltap024 * colsum_i; + coltap135 = coltap135 * colsum_i; float2 uv0 = (-2.5 - f) * stepxy + pos; float2 uv1 = uv0 + stepxy;