[video_core, settings] Allow to turn of aniso levels completely, provide levels of aniso upto x64 (#3019)

Never in my lifetime will I ever need to revise anisotropy levels; I hope :)

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3019
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie 2025-11-26 02:16:37 +01:00 committed by crueter
parent 46239dafa1
commit 91b0432591
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
29 changed files with 205 additions and 112 deletions

View File

@ -43,6 +43,12 @@ Various graphical filters exist - each of them aimed at a specific target/image
- **Pros**: Offers decent pixel-art upscaling. - **Pros**: Offers decent pixel-art upscaling.
- **Cons**: Only works for pixel-art. - **Cons**: Only works for pixel-art.
### Anisotropy values
The anisotropy value is (value game wants + the set value); **Default** will use the native anisotropy value as it would be on hardware. **Automatic** sets it according to screen resolution. Turning off anisotropy is not recommended as it can break a myriad of games, however it is provided in the name of flexibility.
Values from x2, x4, x8, x16, x32 up to x64 values are provided. This should be enough to not need to revise those values in my lifetime ever again.
### External ### External
While stock shaders offer a basic subset of options for most users, programs such as [ReShade](https://github.com/crosire/reshade) offer a more flexible experience. In addition to that users can also seek out modifications (mods) for enhancing visual experience (60 FPS mods, HDR, etc). While stock shaders offer a basic subset of options for most users, programs such as [ReShade](https://github.com/crosire/reshade) offer a more flexible experience. In addition to that users can also seek out modifications (mods) for enhancing visual experience (60 FPS mods, HDR, etc).

View File

@ -1016,10 +1016,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">خلفيات سوداء</string> <string name="use_black_backgrounds">خلفيات سوداء</string>

View File

@ -727,10 +727,13 @@
<string name="theme_mode_dark">تاریک</string> <string name="theme_mode_dark">تاریک</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">پاشبنەمای ڕەش</string> <string name="use_black_backgrounds">پاشبنەمای ڕەش</string>

View File

@ -693,10 +693,13 @@
<string name="theme_mode_dark">Tmavé</string> <string name="theme_mode_dark">Tmavé</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Černá pozadí</string> <string name="use_black_backgrounds">Černá pozadí</string>

View File

@ -912,10 +912,13 @@ Wirklich fortfahren?</string>
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Schwarze Hintergründe</string> <string name="use_black_backgrounds">Schwarze Hintergründe</string>

View File

@ -975,10 +975,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">x2</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">x4</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">x8</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">x16</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Fondos oscuros</string> <string name="use_black_backgrounds">Fondos oscuros</string>

View File

@ -861,10 +861,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">پس‌زمینه مشکی</string> <string name="use_black_backgrounds">پس‌زمینه مشکی</string>

View File

@ -988,10 +988,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Arrière-plan noir</string> <string name="use_black_backgrounds">Arrière-plan noir</string>

View File

@ -776,10 +776,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">רקעים שחורים</string> <string name="use_black_backgrounds">רקעים שחורים</string>

View File

@ -875,10 +875,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Fekete háttér</string> <string name="use_black_backgrounds">Fekete háttér</string>

View File

@ -929,10 +929,13 @@
<string name="cubeb">Cubeb</string> <string name="cubeb">Cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Gunakan Latar Belakang Hitam</string> <string name="use_black_backgrounds">Gunakan Latar Belakang Hitam</string>

View File

@ -988,10 +988,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Sfondi neri</string> <string name="use_black_backgrounds">Sfondi neri</string>

View File

@ -778,10 +778,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">完全な黒を使用</string> <string name="use_black_backgrounds">完全な黒を使用</string>

View File

@ -837,10 +837,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">검정 배경</string> <string name="use_black_backgrounds">검정 배경</string>

View File

@ -740,10 +740,13 @@
<string name="theme_mode_dark">Mørk</string> <string name="theme_mode_dark">Mørk</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Svart bakgrunn</string> <string name="use_black_backgrounds">Svart bakgrunn</string>

View File

@ -1012,10 +1012,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Czarne tła</string> <string name="use_black_backgrounds">Czarne tła</string>

View File

@ -976,10 +976,13 @@ uma tentativa de mapeamento automático</string>
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Planos de fundo pretos</string> <string name="use_black_backgrounds">Planos de fundo pretos</string>

View File

@ -890,10 +890,13 @@ uma tentativa de mapeamento automático</string>
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Plano de fundo preto</string> <string name="use_black_backgrounds">Plano de fundo preto</string>

View File

@ -1010,10 +1010,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Чёрный фон</string> <string name="use_black_backgrounds">Чёрный фон</string>

View File

@ -888,10 +888,13 @@
<string name="cubeb">Цубеб</string> <string name="cubeb">Цубеб</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two"></string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four"></string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight"></string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16к</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Црна позадина</string> <string name="use_black_backgrounds">Црна позадина</string>

View File

@ -1012,10 +1012,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Чорний фон</string> <string name="use_black_backgrounds">Чорний фон</string>

View File

@ -740,10 +740,13 @@
<string name="theme_mode_dark">Tối</string> <string name="theme_mode_dark">Tối</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Nền tối</string> <string name="use_black_backgrounds">Nền tối</string>

View File

@ -984,10 +984,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">使用黑色背景</string> <string name="use_black_backgrounds">使用黑色背景</string>

View File

@ -984,10 +984,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">黑色背景</string> <string name="use_black_backgrounds">黑色背景</string>

View File

@ -487,10 +487,13 @@
<string-array name="anisoEntries"> <string-array name="anisoEntries">
<item>@string/auto</item> <item>@string/auto</item>
<item>@string/slider_default</item> <item>@string/slider_default</item>
<item>@string/multiplier_two</item> <item>@string/multiplier_x2</item>
<item>@string/multiplier_four</item> <item>@string/multiplier_x4</item>
<item>@string/multiplier_eight</item> <item>@string/multiplier_x8</item>
<item>@string/multiplier_sixteen</item> <item>@string/multiplier_x16</item>
<item>@string/multiplier_x32</item>
<item>@string/multiplier_x64</item>
<item>@string/multiplier_none</item>
</string-array> </string-array>
<integer-array name="anisoValues"> <integer-array name="anisoValues">
<item>0</item> <item>0</item>

View File

@ -1055,10 +1055,13 @@
<string name="cubeb">cubeb</string> <string name="cubeb">cubeb</string>
<!-- Anisotropic filtering options --> <!-- Anisotropic filtering options -->
<string name="multiplier_two">2x</string> <string name="multiplier_x2">x2</string>
<string name="multiplier_four">4x</string> <string name="multiplier_x4">x4</string>
<string name="multiplier_eight">8x</string> <string name="multiplier_x8">x8</string>
<string name="multiplier_sixteen">16x</string> <string name="multiplier_x16">x16</string>
<string name="multiplier_x32">x32</string>
<string name="multiplier_x64">x64</string>
<string name="multiplier_none">None</string>
<!-- Black backgrounds theme --> <!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Black backgrounds</string> <string name="use_black_backgrounds">Black backgrounds</string>

View File

@ -126,7 +126,7 @@ ENUM(TimeZone, Auto, Default, Cet, Cst6Cdt, Cuba, Eet, Egypt, Eire, Est, Est5Edt
GmtPlusZero, GmtMinusZero, GmtZero, Greenwich, Hongkong, Hst, Iceland, Iran, Israel, Jamaica, GmtPlusZero, GmtMinusZero, GmtZero, Greenwich, Hongkong, Hst, Iceland, Iran, Israel, Jamaica,
Japan, Kwajalein, Libya, Met, Mst, Mst7Mdt, Navajo, Nz, NzChat, Poland, Portugal, Prc, Pst8Pdt, Japan, Kwajalein, Libya, Met, Mst, Mst7Mdt, Navajo, Nz, NzChat, Poland, Portugal, Prc, Pst8Pdt,
Roc, Rok, Singapore, Turkey, Uct, Universal, Utc, WSu, Wet, Zulu); Roc, Rok, Singapore, Turkey, Uct, Universal, Utc, WSu, Wet, Zulu);
ENUM(AnisotropyMode, Automatic, Default, X2, X4, X8, X16); ENUM(AnisotropyMode, Automatic, Default, X2, X4, X8, X16, X32, X64, None);
ENUM(AstcDecodeMode, Cpu, Gpu, CpuAsynchronous); ENUM(AstcDecodeMode, Cpu, Gpu, CpuAsynchronous);
ENUM(AstcRecompression, Uncompressed, Bc1, Bc3); ENUM(AstcRecompression, Uncompressed, Bc1, Bc3);
ENUM(VSyncMode, Immediate, Mailbox, Fifo, FifoRelaxed); ENUM(VSyncMode, Immediate, Mailbox, Fifo, FifoRelaxed);

View File

@ -596,6 +596,9 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QObject* parent)
PAIR(AnisotropyMode, X4, tr("4x")), PAIR(AnisotropyMode, X4, tr("4x")),
PAIR(AnisotropyMode, X8, tr("8x")), PAIR(AnisotropyMode, X8, tr("8x")),
PAIR(AnisotropyMode, X16, tr("16x")), PAIR(AnisotropyMode, X16, tr("16x")),
PAIR(AnisotropyMode, X32, tr("32x")),
PAIR(AnisotropyMode, X64, tr("64x")),
PAIR(AnisotropyMode, None, tr("None")),
}}); }});
translations->insert( translations->insert(
{Settings::EnumMetadata<Settings::Language>::Index(), {Settings::EnumMetadata<Settings::Language>::Index(),

View File

@ -69,20 +69,29 @@ float TSCEntry::MaxAnisotropy() const noexcept {
const bool has_regular_lods = min_lod_clamp == 0 && max_lod_clamp >= 256; const bool has_regular_lods = min_lod_clamp == 0 && max_lod_clamp >= 256;
const bool is_bilinear_filter = min_filter == TextureFilter::Linear && const bool is_bilinear_filter = min_filter == TextureFilter::Linear &&
reduction_filter == SamplerReduction::WeightedAverage; reduction_filter == SamplerReduction::WeightedAverage;
if (max_anisotropy == 0 && (!is_suitable_mipmap_filter || !has_regular_lods || if (max_anisotropy == 0 && (!is_suitable_mipmap_filter || !has_regular_lods || !is_bilinear_filter || depth_compare_enabled))
!is_bilinear_filter || depth_compare_enabled)) {
return 1.0f; return 1.0f;
}
const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue();
s32 added_anisotropic{}; s32 added_anisotropic{};
if (anisotropic_settings == Settings::AnisotropyMode::Automatic) { auto const anisotropic_settings = Settings::values.max_anisotropy.GetValue();
added_anisotropic = Settings::values.resolution_info.up_scale >> switch (anisotropic_settings) {
Settings::values.resolution_info.down_shift; case Settings::AnisotropyMode::Default:
added_anisotropic = (std::max)(added_anisotropic - 1, 0); case Settings::AnisotropyMode::X2:
} else { case Settings::AnisotropyMode::X4:
added_anisotropic = static_cast<u32>(Settings::values.max_anisotropy.GetValue()) - 1U; case Settings::AnisotropyMode::X8:
case Settings::AnisotropyMode::X16:
case Settings::AnisotropyMode::X32:
case Settings::AnisotropyMode::X64:
added_anisotropic = u32(anisotropic_settings) - 1U;
break;
case Settings::AnisotropyMode::Automatic:
added_anisotropic = Settings::values.resolution_info.up_scale >> Settings::values.resolution_info.down_shift;
added_anisotropic = (std::max)(added_anisotropic - 1U, 0U);
break;
case Settings::AnisotropyMode::None:
return 1.0f; //No use of anisotropy
} }
return static_cast<float>(1U << (max_anisotropy + added_anisotropic)); return float(1U << (max_anisotropy + added_anisotropic));
} }
} // namespace Tegra::Texture } // namespace Tegra::Texture