8nEI&CBRC0Q{K>cmbgc|M^XnZRaJ}ZM069YqLZn}SINkJ(n4}kpU&cwiw
zUs~b}jec+%@0ulq24=^!MnF106<#Cu8s7wKg
z@gV61=>dreAc=v>6p$FGtcK|Yl_?-GP?-%A1C=QtF&QMiAp1aKpt2OE4pgRq#6V@H
zI|DPgyac(=oq>e`RK6%d{R88J%5a!GsLTP$BlAJ>AU}iDgW?KQmx0^>;)B8(q#oo~
z7$2k_WCe&H!UU?%85krP7#M^Zn80GAeg(N-oPmV_FC5VwQs7i$I<1`r<IcQU4g)(l{;z}TC^QT*3uMPVh*|J(yU)PD01^XXkUzK>Az=avKTsM|
zXJP=yCn#<~@)}GKd5}0rUWj$|F=8vC@3}8E8=KX@2
z2Py+#YJM{^Fo48iYW_ggfXWS+n!k(;3?Ok>c>H5zU;ya@iG#v}5t?>E;Q^8ZB{UW$
zNO*wQFteGMAn}20KQj{p14ta?A5i)N@j?CpnF$IHkU22@tWf>PZewF&U;v53^n>`w
z`a$Nv{K3w|zyPu%09u}MFflNI!U!Y|(ho}iATgMITu}Rv!=IapfdM2AQ^NyQgB-`a
zObiSl@myATvSX1u_SwUlghz*==G>3=AM~n0^o+SwF}eSa^vuF))DafSD%&H4i!bC7Bo)
zK;kepQcyL>aV*WmzyK15g@+6i0|Q7ONE{R%@<`zUl9OX%U{HdF2Z#+bTLEe|vi*uo
z3=AM~kbgks4Tul&56DbVc!11-=~ss8M|PVE69WTC9Ht+{N7fHA2NoWxObiSlJ7DQY
zjfsH)6h3v9^#Z7F1DOFTr}dc_7(n7R&^Chs69WTC45r5r
zss~hN!}J(2F))C{VS0?27#KieAa{W3C=(_I29P-*agaMe&l
z$RB}B3=AM~kollCO%M|U1ISL0zd&|@gh2s7%?y~
zfb@aHc^KHhacc~1i-Fn>AbFU1rcgUU?O2$3W(*7rAaR%)3#b}U+ZLwAl7WE%Bo4FF
zih+Rvqz@zxvlBG91*&F2c7o(VX&n>>HVh05Aoqae|1mHzfcVH^1nRdShY_e>W(iFL
zjtmUovAYgv`R@d3Z-K**fdOO|h>vU*Xv_}TEIzPWNZY~<>M!K7*`0xb0VEFdyC+l)
za{24Uz`y_!hxy$bH15a1zyK15`P~O8yg~9X^ZcOZA(wyt3=9k)ahRGws2b!lE(kOx
z$iTn=von~1fdQlsBo4DP1j$a2JS@CJ85kHq?g7bz!U)7i4kOUGC2|;n`n<64j$mK_
zk9)$xI}#e+AaRgcAU@12P(A>Sae~YO_3_LZn8AHPP=6Ve*2NeY7(nR<)b~hWU|<0C
zJ3xF;nn(oqHy9WqpnZd61_lO@8jv`sr~#EbAp1b#$o7Hy-RSm##z#T+f%>wbcB~+1
zj0@WTfbl`&aUgqP_JhXJK>A?*&H#^ZGcdG5(^)110|Q76NIVdl&$2*csvyh3aRbSF
z*-$Z1x`%~-4g&)NNG(VXRK9@52SH*myFr8EATf{}$Xy^lsO$lSXFdZ111L;E;voNn
z_{jbTjsJq2fE?bSabJ-CL4ALie?enuApgSnpz#)DK4|P0nGYIYgz-WBh(@IF1M&Nj
z_@M9wjX%QFgZQBFM`S)|3=)|S8iz#YgT^6Ye31E|aY$r7XdDum4;qI==7Yu|k@=u;
zNMt@}91@ui8iz#YgT^6Yd{93HG!6;lgZu*;gGA>3#v+mVps`38A7nmgEE2{C=?9HR!uTNlpfO2gK4?r5
z#s}#KjY-1zApM|mNf;lbA2c=zZc#Z>BZdO6dP2{q=nt_1xrvWDY1iKy8Ii1_lO@
z9We8{pynahBi#%P3?OlsnjWYcAW99@7~Z7(jNw%HbId3=E(!0*Qm_QBeAv$-uw>N=G0$P(2C~n+2^$L2WdUJjgCk
zc?c2*nGI4i2Q;?^4sX!R9s|Q%1_lO@7-)PCq#jfrg2Z6z=R?)Q_zR%(ZLs=fAp-*g
zNDW9Fre+ZX0|O|pz|<^eU|;~L1Brv|0F|*IF_`+L3=9k)dtv-#Xm%`TU|;~L0g1!Z
ztU$A4B?AKkNF7KVWCy6+28qGcuV!EX&n>~iY7J6Yf#g7XKxI2f9HwU-0|Nud9GIT<
zNP0kWAU&Y+A0!TndrV#xb3koqkQ^vZLE_t>W2_)~
zklCQR1SAGCdneRvSpN*9XBPtl14tZZ_HHDzL2@v&_dv}C$%D)W)k`2TnA!WFenoco
zeg*~xkT}fj14w3rNAiy%$!3|bCBJ5n1O)-Bn~s@2$DGh
zjxjJWfZPbeZMAU3ED2aPeq%(}tAzyR_eER1h5Fff49Dso)iVqjnZiNn;~hN?l1hdT@m
z3?Ok>xpJ3*fdQlsB;E*ZFFs&kU;v4O#;rka0kt1MVz74IBL)WWJU>Xh588))%)r0^
z5(l{xfq?-e22u+$7vx8f7)U)RKA$l#Fo5C!=Kkjl3=E*W
zh3v-{3=9k)ahRHySp4{kfq?-e4)fz{1_lO@K9D%bEub>+4FdxMNF3%zP@4!O2J_=P
zs2@S%Fh9O$U|;}=gWL&nGssUL(ERw3fq?-e22u<2BS;LS9^}VQ3=H6TWSILuL*0+;
z$1e;F3?Olsny=7sK#s?63=9k)ahM;!GcYiK^nt`-e*D3}zyK15`4QC41Bt=>_zUVs
zkT}ebzrk$<1_qEjL2d^5@ei6G|1vNzfW$y*VSWUOfz*Ti_>X~s0hE?u?*9*UKe8V|
z3v58*Fg1*fkhn(nBNHP714ta^M`lpRgpq*(Bo6Z<3nK#qNF3%zP}>zG2J<5uBP6YY
z#9@A9XJlXiiG$n;ax=(}9E_-Gm6MTy0VD=e3-cpL4CY=QsC$w9#LLLQ01}6(;bX+i
zqx_5v3?Ok>nJmD_zyQ(*5{HQiGBPlL#6j~#pfMZJJdqG10|Q7L(gzZUiAjROj}bC|1#^oOBLf3S9OM>I
zUjW1hu|fR+(AW;BO(O%Hj{wo%7+4tO7#SGkLGj1HzyOk0fXahtP#l2#sL03wUe5sI
zD={*F*FS88j^imaGBAMDfW$##{UE+9BLmoMQ2PtShWS?&>R;seQDbCa0EvUr4k(?f
zGcquM#6a^{FgrD%ZUBwjfz)U+GBAL|V0yF|85ltNK;j@jgZerkF_3!?<
z4@%P@F_3;xS_bI{rDc#DsNV`p?=H~v45C5l-Hnlf!5t~RdqCwuG|X;KMh5UY92nn=
zkpaBE2bSKw85tNrYCz(k^bX>?GBPlL%m%pw#D=9SUo7d$kCA}^Bn}F5P+a;mGBAL|
zkkfkr)D5uo9>~bR01|`g31Vbm0Orz`14s=>9Aqyjy+<%IFo48i=>s$d01|_xk0@yR0ExrWM>Hb?
z14ta?CXijA^bv!WK4KXe7(ikmwIKh1(mO~Dq#op-I7Ubt5$2zGX!=I>PXZ$Y14taE
zClSp*NsJ5(AT=Oyn17N%Yn2!o7-0SZjbVVqVE##k`UfNq^G_Nh0|Q7LAmBP`@8C{#XiH=LO2Y
z(6LsK8_J+=fThoJMg|6u7${sp@m0adzyQ(*5(oJiH1-1$1Ni|YU&+Y801|`otI*=A
z8npI}k%0ju4l)yz_G%az7(n8%xB`tIfy7{ORR@hLkT}R(P`uQm#Y+Pt0|Q75q!#2Z
zP&xyNfyxn3xP!t6M1%B${MiWgC#)Q50)-1BXk85h14ut8ESwk%0lE4kQlpCunRABnDCs
z3YR`;nuEoEKO+MJNDL$oa>oR;`gS6;zJi%QiIIT;qy{7o>-SA&WMBZ91Cj%o1F~ld
zwCsi1GnJ8n0VD>J2iY?XTF$}v)1l=A%$^yH3=AMOAaR&IGZ`5eK<0qtVCrTuGBAMb
z2g!l_3mSU_iGj=oxnmBRf9EnXFo48h^7GK#IiHb%0VD>qa{(g*14s`@9ArLdEE6OK
z(ho|f3!&*0#0U9n5hDY5ttO1Wn2~`23IhWJNH0h&NFLO72C3b|$iM(H8>9vl7a(_m
z#9(FOW<~}Euo%>BAir;6WMBY^!_;hrszGiqZewI%0Exrmd^;lp14ti892A})J}f*z
z?f|WM2Mv3I)+EBhO$9pUsm8#-01G$JI$Mx>5Fa#-brfm66^MTw%7?jaH>fShz`%f9
zH|}9%U;v53)a-?-L3aN>P~HKxGoa%Q`xzM+K>9%9pl|}Y10)7A12k`Z0JFk?;?_UApIad
zNDasjpm4qf^(XR}_hm)~29P*R%@wE`v&_!ucjrID_PF
zFfuSahK4hU4Kw=|7PD_NGBAL|VQTI`)gZg^E+Yd2NE}uk-D6~60O$m_1Lh
z*z=T;fdM2A(+}b!>j#+wi?e5p3=AMUVCFqXG7qF5#0RMXsR!lN7f^Xnz6Y^E`5pjq
CvqqQz
literal 0
HcmV?d00001
diff --git a/src/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/src/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj
index f6a7be91e4..6ee9a883f7 100644
--- a/src/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj
+++ b/src/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj
@@ -13,6 +13,13 @@
+
+
+
+
+
+
+
diff --git a/src/Ryujinx.Graphics.Vulkan/Window.cs b/src/Ryujinx.Graphics.Vulkan/Window.cs
index d67362be30..c4aaa2ece9 100644
--- a/src/Ryujinx.Graphics.Vulkan/Window.cs
+++ b/src/Ryujinx.Graphics.Vulkan/Window.cs
@@ -566,6 +566,15 @@ namespace Ryujinx.Graphics.Vulkan
_scalingFilter = new FsrScalingFilter(_gd, _device);
}
+ _scalingFilter.Level = _scalingFilterLevel;
+ break;
+ case ScalingFilter.Area:
+ if (_scalingFilter is not AreaScalingFilter)
+ {
+ _scalingFilter?.Dispose();
+ _scalingFilter = new AreaScalingFilter(_gd, _device);
+ }
+
_scalingFilter.Level = _scalingFilterLevel;
break;
}
diff --git a/src/Ryujinx/Assets/Locales/en_US.json b/src/Ryujinx/Assets/Locales/en_US.json
index 74e18056ba..a592139b22 100644
--- a/src/Ryujinx/Assets/Locales/en_US.json
+++ b/src/Ryujinx/Assets/Locales/en_US.json
@@ -758,10 +758,11 @@
"GraphicsAATooltip": "Applies anti-aliasing to the game render.\n\nFXAA will blur most of the image, while SMAA will attempt to find jagged edges and smooth them out.\n\nNot recommended to use in conjunction with the FSR scaling filter.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on NONE if unsure.",
"GraphicsAALabel": "Anti-Aliasing:",
"GraphicsScalingFilterLabel": "Scaling Filter:",
- "GraphicsScalingFilterTooltip": "Choose the scaling filter that will be applied when using resolution scale.\n\nBilinear works well for 3D games and is a safe default option.\n\nNearest is recommended for pixel art games.\n\nFSR 1.0 is merely a sharpening filter, not recommended for use with FXAA or SMAA.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on BILINEAR if unsure.",
+ "GraphicsScalingFilterTooltip": "Choose the scaling filter that will be applied when using resolution scale.\n\nBilinear works well for 3D games and is a safe default option.\n\nNearest is recommended for pixel art games.\n\nFSR 1.0 is merely a sharpening filter, not recommended for use with FXAA or SMAA.\n\nArea scaling is recommended when downscaling large resolutions to achieve a supersampled anti-aliasing effect.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on BILINEAR if unsure.",
"GraphicsScalingFilterBilinear": "Bilinear",
"GraphicsScalingFilterNearest": "Nearest",
"GraphicsScalingFilterFsr": "FSR",
+ "GraphicsScalingFilterArea": "Area",
"GraphicsScalingFilterLevelLabel": "Level",
"GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
"SmaaLow": "SMAA Low",
diff --git a/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml
index 5cffc6848a..0a12575adc 100644
--- a/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml
+++ b/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml
@@ -1,4 +1,4 @@
-
+
+
+