Repository navigation
Releases: dmorazasanchez/bc250-fsr4
Release list
BC-250 FSR4 V3 — EXP-042B Hybrid
Runtime-validated V3 for AMD BC-250 / GFX1013. Same-scene Cyberpunk 2077 FSR 4.1.1 INT8, FG off: 63 FPS (EXP-042B) vs 61 FPS EXP-042A, 59 FPS EXP-040E, 58 FPS EXP-035B2. Native signed packed-dot remains disabled; V3 optimizes the software fallback. Precompiled asset targets current CachyOS/Arch x86_64 with LLVM 22 ABI. No system Mesa replacement required; use install-v3.sh from the v3 branch.
BC-250 FSR4 v2 — Selective DP4A Breakthrough
BC-250 FSR4 v2 — Selective DP4A Breakthrough
The second major experimental release of the BC-250 / GFX1013 FSR4 RADV optimization project.
v2 is based on Mesa 26.2.0 and introduces the EXP-028 selective signed DP4A lowering, which improves FSR4 performance while avoiding severe register-pressure regressions found with the previous global reassociation approach.
What changed
The previous optimization reassociated every signed 4x8 dot-product fallback. This was very effective for most FSR4 shaders, but profiling a 64-shader FSR4 corpus revealed several pathological kernels where the same transformation caused massive VGPR pressure, spilling and scratch usage.
EXP-028 fixes this by making the lowering selective:
- Constant accumulator → balanced Mesa lowering
- Non-constant accumulator → optimized reassociated lowering
This keeps the big gains on the important FSR4 kernels while avoiding the worst compiler regressions.
Example compiler improvements
Hot FSR4 kernel
Stock/MastaG-style:
VGPRs: 256
Pre-Sched VGPRs: 169
Instructions: 16681
Latency: 407842
v2 / EXP-028:
VGPRs: 168
Pre-Sched VGPRs: 138
Instructions: 15486
Latency: 387788
Spilled VGPRs: 0
This also raises occupancy from 4 to 6 subgroups per SIMD.
Pathological shader recovery
Global reassociation:
Pre-Sched VGPRs: 3035
Spilled VGPRs: 2794
Scratch size: 699392
v2:
Pre-Sched VGPRs: 1555
Spilled VGPRs: 1314
Scratch size: 320512
Real-world result
Tested with:
- AMD BC-250 / GFX1013
- Mesa 26.2.0
- FSR 4.1.1 INT8
- Cyberpunk 2077
In repeated same-scene testing, EXP-028 performs better than the previous MastaG/global-reassociation baseline while rendering correctly.
This is currently the fastest known experimental FSR4 configuration from this project for the BC-250.
Reproducible build
The v2 branch can now be built from a clean clone:
./build-anywhere.sh
./check.sh
./run-bc250-fsr4.sh vulkaninfo --summary
A clean GitHub build has been successfully validated on the BC-250:
driverName = radv
driverInfo = Mesa 26.2.0
deviceName = AMD BC-250 (RADV GFX1013)
deviceID = 0x13fe
Fresh GitHub v2 build SHA256:
435ebcac375d5e5f3382e5123cf2b3de88ccbffc08fc17b7fa73759b28b04114
Original EXP-028 test binary SHA256:
49f0ceb277e90734df1c1c6dcdfef2b871481da4bd32562ec397428492513af6
Different hashes are expected because the reproducible build uses a Docker toolchain rather than the original CachyOS host compiler environment.
Important
This does not enable GFX1013's broken native v_dot4_i32_i8 path.
FSR4 still uses a software INT8 dot-product fallback; v2 makes that fallback substantially more efficient.
Experimental software. BC-250 / GFX1013 only.
Do not install the included RADV build system-wide.
Huge thanks to everyone testing BC-250 hardware and sharing findings, and to higorprado for the validation/benchmarking and packaging work contributed through PR #1.
BC-250 FSR4 RADV v0.1 Experimental
First experimental release of the optimized RADV FSR4 INT8 fallback for AMD BC-250 / GFX1013.
Tested with FSR 4.1.1 in Cyberpunk 2077.
This does NOT enable the broken native v_dot4 path. It optimizes Mesa's software INT8 dot-product fallback using signed i24 arithmetic.
Experimental. BC-250 / GFX1013 only. Do not install the included RADV driver system-wide.