Skip to content

Releases: dmorazasanchez/bc250-fsr4

BC-250 FSR4 V3 — EXP-042B Hybrid

Choose a tag to compare

@dmorazasanchez dmorazasanchez released this 20 Aug 13:26

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

Choose a tag to compare

@dmorazasanchez dmorazasanchez released this 17 Aug 21:52

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

Choose a tag to compare

@dmorazasanchez dmorazasanchez released this 14 Aug 20:49

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.