// SpeedBreaker tests. GPL-3.0-or-later (see COPYING). // // Settings > Graphics > Upscaling's FSR 1: which pass draws a frame // (video/upscale.h, on video::FitPicture's pictures), Sharpening as RCAS's // strength, the shaders' constants against AMD's formulas, and their GLSL // (video/fsr1.cpp): AMD's two headers compiled in byte for byte, one main // in RCAS's (the tone variant renames it), and the band rules of // video/band_filter.h in their code. // Arguments: runtime/thirdparty/fsr1 (the vendored headers), runtime/video // (presenter.cpp and fsr1.cpp read, and ../user/settings.cpp: FSR 1 isn't // offered on iPhone and iPad, and no FSR 1 shader is compiled unless a // frame's pass is FSR 1), and a folder the GLSL is written to // (fsr1_glsl_check, when glslangValidator is installed, compiles it). // // Build by hand (from the repo root, after a CMake configure has written // build/main/runtime/generated/fsr1_headers.inc): // c++ -std=c++20 -O2 -UNDEBUG -I runtime -I build/main/runtime/generated tests/fsr1_test.cpp \ // runtime/video/fsr1.cpp runtime/video/picture_fit.cpp -o build/fsr1_test // build/fsr1_test runtime/thirdparty/fsr1 runtime/video build/fsr1_glsl #include #include