diff options
Diffstat (limited to 'results/scraper/fex/4120')
| -rw-r--r-- | results/scraper/fex/4120 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/results/scraper/fex/4120 b/results/scraper/fex/4120 new file mode 100644 index 000000000..8e40046e2 --- /dev/null +++ b/results/scraper/fex/4120 @@ -0,0 +1,51 @@ +Preparation plan for increasing minimum requirements to require FEAT_FLAGM/ARMv8.4-a +- **Note:** This is will likely happen in the middle of 2025. + +Currently FEX supports back to ARMv8.0-a, which has been a maintenance burden that can be both frustrating and slow to support. Once we increase minspec to FEAT_FLAGM, this effectively increases our minspec to ARMv8.4-a. So choosing ARMv8.4-a is actually the sane option. This would basically increase FEX's minimum CPU requirements to support hardware released in 2019-2021, so at least four year old hardware by time this change actually ends up in FEX. + +**Unique codepaths in FEX for things below v8.4:** +- Flags handling + - FEAT_FLAGM adds support for accelerating x86 flags emulation +- FEAT_LSE - Atomic memory operations + - Everything uses load-exclusive, store-exclusive on v8.0. + - Complicates our unaligned atomic handling +- FEAT_LRCPC and FEAT_LRCPC2 + - Accelerates x86 memory model (even if it isn't very good) + - Changes load/store atomic in to equivalent LRCPC instructions +- FEAT_LSE2 + - Supports unaligned atomics inside a 16-byte granularity + - Just like FEAT_LSE improved atomics, this improves unaligned atomics + - Can reduce complications in FEX's unaligned atomic handlers +- A few misc things. + +Performance wise, without these extensions x86 emulation is either slow (atomics) or buggy (TSO emulation disabled) so supporting things older aren't fundamentally interesting and causes us maintenance and financial (CI) burden. + +Performance considerations show that while some of this deprecated hardware can play lighter games, the performance for anything remotely heavily isn't very interesting. + +**What hardware would this change cause FEX to no longer support?** +- CPUs: + - ARM: Cortex-A57 through Cortex-A78 + +- SoCs: + - Apple: Nothing (FEX only supports devices with M1 or newer, which is v8.4-a or newer) + - Qualcomm mobile: Snapdragon 888 and older + - Qualcomm Compute: 8cx Gen 3 (Latest generation before Oryon/X1E) + - Samsung: Exynos 2100 and older + - NVIDIA: Orin and older (Thor in 2025 will be first Jetson. Grace is fine) + - Rockchip: Everything + - Raspberry Pi: Everything + - Amlogic: Everything + - Ampere: Altra + +**What hardware will still be available to use FEX with after this change?** +- Apple: All "Apple Silicon" M series +- Ampere: AmpereOne +- NVIDIA: Thor (2025), and Grace +- Snapdragon mobile: Snapdragon 8 Gen 1 and newer +- Snapdragon Compute: X Elite +- Samsung: Exynos 2200 and newer +- Radxa Orion O6 +- Rockchip: RK3688 (Will be shipping a Cortex-A7xx CPU in likely 2025) +- Amlogic: Nothing today +- Pi: Nothing today + |