diff options
| author | 2022-01-23 14:38:48 -0600 | |
|---|---|---|
| committer | 2022-01-23 14:38:48 -0600 | |
| commit | fdde08bd01f758e6a634248c7b282f3d21d347f5 (patch) | |
| tree | 113bb0c4039ea440eaef73c4b72fa42b20e9e4fc /externals/FidelityFX-FSR | |
| parent | Merge pull request #7761 from v1993/patch-8 (diff) | |
| download | yuzu-fdde08bd01f758e6a634248c7b282f3d21d347f5.tar.gz yuzu-fdde08bd01f758e6a634248c7b282f3d21d347f5.tar.xz yuzu-fdde08bd01f758e6a634248c7b282f3d21d347f5.zip | |
Update FSR to 1.0.2
Updates yuzu's FSR implementation to 1.0.2
Diffstat (limited to 'externals/FidelityFX-FSR')
| -rw-r--r-- | externals/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/externals/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h b/externals/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h index 15ecfde5c..4e0b3d548 100644 --- a/externals/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h +++ b/externals/FidelityFX-FSR/ffx-fsr/ffx_fsr1.h | |||
| @@ -747,12 +747,12 @@ AF1 sharpness){ | |||
| 747 | // Immediate constants for peak range. | 747 | // Immediate constants for peak range. |
| 748 | AF2 peakC=AF2(1.0,-1.0*4.0); | 748 | AF2 peakC=AF2(1.0,-1.0*4.0); |
| 749 | // Limiters, these need to be high precision RCPs. | 749 | // Limiters, these need to be high precision RCPs. |
| 750 | AF1 hitMinR=mn4R*ARcpF1(AF1_(4.0)*mx4R); | 750 | AF1 hitMinR=min(mn4R,eR)*ARcpF1(AF1_(4.0)*mx4R); |
| 751 | AF1 hitMinG=mn4G*ARcpF1(AF1_(4.0)*mx4G); | 751 | AF1 hitMinG=min(mn4G,eG)*ARcpF1(AF1_(4.0)*mx4G); |
| 752 | AF1 hitMinB=mn4B*ARcpF1(AF1_(4.0)*mx4B); | 752 | AF1 hitMinB=min(mn4B,eB)*ARcpF1(AF1_(4.0)*mx4B); |
| 753 | AF1 hitMaxR=(peakC.x-mx4R)*ARcpF1(AF1_(4.0)*mn4R+peakC.y); | 753 | AF1 hitMaxR=(peakC.x-max(mx4R,eR))*ARcpF1(AF1_(4.0)*mn4R+peakC.y); |
| 754 | AF1 hitMaxG=(peakC.x-mx4G)*ARcpF1(AF1_(4.0)*mn4G+peakC.y); | 754 | AF1 hitMaxG=(peakC.x-max(mx4G,eG))*ARcpF1(AF1_(4.0)*mn4G+peakC.y); |
| 755 | AF1 hitMaxB=(peakC.x-mx4B)*ARcpF1(AF1_(4.0)*mn4B+peakC.y); | 755 | AF1 hitMaxB=(peakC.x-max(mx4B,eB))*ARcpF1(AF1_(4.0)*mn4B+peakC.y); |
| 756 | AF1 lobeR=max(-hitMinR,hitMaxR); | 756 | AF1 lobeR=max(-hitMinR,hitMaxR); |
| 757 | AF1 lobeG=max(-hitMinG,hitMaxG); | 757 | AF1 lobeG=max(-hitMinG,hitMaxG); |
| 758 | AF1 lobeB=max(-hitMinB,hitMaxB); | 758 | AF1 lobeB=max(-hitMinB,hitMaxB); |
| @@ -845,12 +845,12 @@ AF1 sharpness){ | |||
| 845 | // Immediate constants for peak range. | 845 | // Immediate constants for peak range. |
| 846 | AH2 peakC=AH2(1.0,-1.0*4.0); | 846 | AH2 peakC=AH2(1.0,-1.0*4.0); |
| 847 | // Limiters, these need to be high precision RCPs. | 847 | // Limiters, these need to be high precision RCPs. |
| 848 | AH1 hitMinR=mn4R*ARcpH1(AH1_(4.0)*mx4R); | 848 | AH1 hitMinR=min(mn4R,eR)*ARcpH1(AH1_(4.0)*mx4R); |
| 849 | AH1 hitMinG=mn4G*ARcpH1(AH1_(4.0)*mx4G); | 849 | AH1 hitMinG=min(mn4G,eG)*ARcpH1(AH1_(4.0)*mx4G); |
| 850 | AH1 hitMinB=mn4B*ARcpH1(AH1_(4.0)*mx4B); | 850 | AH1 hitMinB=min(mn4B,eB)*ARcpH1(AH1_(4.0)*mx4B); |
| 851 | AH1 hitMaxR=(peakC.x-mx4R)*ARcpH1(AH1_(4.0)*mn4R+peakC.y); | 851 | AH1 hitMaxR=(peakC.x-max(mx4R,eR))*ARcpH1(AH1_(4.0)*mn4R+peakC.y); |
| 852 | AH1 hitMaxG=(peakC.x-mx4G)*ARcpH1(AH1_(4.0)*mn4G+peakC.y); | 852 | AH1 hitMaxG=(peakC.x-max(mx4G,eG))*ARcpH1(AH1_(4.0)*mn4G+peakC.y); |
| 853 | AH1 hitMaxB=(peakC.x-mx4B)*ARcpH1(AH1_(4.0)*mn4B+peakC.y); | 853 | AH1 hitMaxB=(peakC.x-max(mx4B,eB))*ARcpH1(AH1_(4.0)*mn4B+peakC.y); |
| 854 | AH1 lobeR=max(-hitMinR,hitMaxR); | 854 | AH1 lobeR=max(-hitMinR,hitMaxR); |
| 855 | AH1 lobeG=max(-hitMinG,hitMaxG); | 855 | AH1 lobeG=max(-hitMinG,hitMaxG); |
| 856 | AH1 lobeB=max(-hitMinB,hitMaxB); | 856 | AH1 lobeB=max(-hitMinB,hitMaxB); |
| @@ -963,12 +963,12 @@ AF1 sharpness){ | |||
| 963 | // Immediate constants for peak range. | 963 | // Immediate constants for peak range. |
| 964 | AH2 peakC=AH2(1.0,-1.0*4.0); | 964 | AH2 peakC=AH2(1.0,-1.0*4.0); |
| 965 | // Limiters, these need to be high precision RCPs. | 965 | // Limiters, these need to be high precision RCPs. |
| 966 | AH2 hitMinR=mn4R*ARcpH2(AH2_(4.0)*mx4R); | 966 | AH2 hitMinR=min(mn4R,eR)*ARcpH2(AH2_(4.0)*mx4R); |
| 967 | AH2 hitMinG=mn4G*ARcpH2(AH2_(4.0)*mx4G); | 967 | AH2 hitMinG=min(mn4G,eG)*ARcpH2(AH2_(4.0)*mx4G); |
| 968 | AH2 hitMinB=mn4B*ARcpH2(AH2_(4.0)*mx4B); | 968 | AH2 hitMinB=min(mn4B,eB)*ARcpH2(AH2_(4.0)*mx4B); |
| 969 | AH2 hitMaxR=(peakC.x-mx4R)*ARcpH2(AH2_(4.0)*mn4R+peakC.y); | 969 | AH2 hitMaxR=(peakC.x-max(mx4R,eR))*ARcpH2(AH2_(4.0)*mn4R+peakC.y); |
| 970 | AH2 hitMaxG=(peakC.x-mx4G)*ARcpH2(AH2_(4.0)*mn4G+peakC.y); | 970 | AH2 hitMaxG=(peakC.x-max(mx4G,eG))*ARcpH2(AH2_(4.0)*mn4G+peakC.y); |
| 971 | AH2 hitMaxB=(peakC.x-mx4B)*ARcpH2(AH2_(4.0)*mn4B+peakC.y); | 971 | AH2 hitMaxB=(peakC.x-max(mx4B,eB))*ARcpH2(AH2_(4.0)*mn4B+peakC.y); |
| 972 | AH2 lobeR=max(-hitMinR,hitMaxR); | 972 | AH2 lobeR=max(-hitMinR,hitMaxR); |
| 973 | AH2 lobeG=max(-hitMinG,hitMaxG); | 973 | AH2 lobeG=max(-hitMinG,hitMaxG); |
| 974 | AH2 lobeB=max(-hitMinB,hitMaxB); | 974 | AH2 lobeB=max(-hitMinB,hitMaxB); |