diff options
| author | duck912 <350528965+Duck912@users.noreply.github.com> | 2026-10-31 00:42:26 -0400 |
|---|---|---|
| committer | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-01 14:58:49 -0500 |
| commit | 681d50cd9cadf0b2205311dc20c84a9e774898d9 (patch) | |
| tree | 98cb9b25a936d268321a8ee5f9cc61c6b6768963 /src/core/hle/service | |
| parent | 210fb0cb690318e8ff65a042cfecb8dc345a66ab (diff) | |
nx2: report the class family flags in the GPU characteristics
The Switch 2 SDK filters its class enumeration by flags bits 40..43 (2D,
3D, compute and inline-to-memory) before it picks its context classes.
Without them Fire Emblem: Fortune's Weave tears NVN down at boot
(2162-0001). Bisected against the Eden NS2 tree's characteristics block;
its other differences are not needed.
Assisted-by: Claude Opus 5.5 (bisecting and drafting)
Signed-off-by: duck912 <350528965+Duck912@users.noreply.github.com>
Diffstat (limited to 'src/core/hle/service')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp index c13ad4fbff..cf4a473496 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp @@ -228,6 +228,9 @@ void ApplyNx2Characteristics(GC& gc) { if (remap) { gc.flags |= 1ULL << 35; } + // Bits 40..43: the 2D, 3D, compute and inline-to-memory class families. The SDK filters its + // class enumeration by them; without them Fire Emblem: Fortune's Weave aborts at boot. + gc.flags |= 0xfULL << 40; // The Switch 2 layout keeps nine s16 interface versions at 0x70..0x80 (like nvgpu's // *_ioctl_nr_last); its NvRm requires e.g. [0x78] >= 6 and enables features above 0xa, 0x1f |
