4576 Commits
Author SHA1 Message Date
FakeMichau 7f19872942 Keep copies of mvs and depth in dx11 interop for FG to use later
Clanker wasn't able to figure it out, stoopid machines
2026-10-10 15:58:23 +02:00
FakeMichau d14b6303a4 Fix DLSSG crashing on DX11
There is an annoying issue where having vsync enabled, at least on AMD, causes buffers to get out of sync or something. Just added a hack for it coz I can't be bothered at this point.
2026-10-10 15:27:31 +02:00
FakeMichau c68727c44b Fix a crash when a game tries to use two Dx11 w/Dx12 upscalers at the same time
Slopped. Should also work with FG.
2026-10-10 14:00:29 +02:00
FakeMichau 4bbeefb7e2 Prevent real reflex getting disabled when using DMFG
We might need a better way for getting volatile config
2026-10-10 12:59:59 +02:00
FakeMichau 8f5de8df99 Dx11 low latency fix ups
Sloppy slop.
2026-10-10 01:59:10 +02:00
FakeMichau dc93628e40 Expand low latency to vulkan
Realistically this is only for doing Reflex -> VK AL, or Reflex -> LatencyFlex but whatever. Also Vulkan AntiLag on Windows requires enabling AntiLag in the control panel for that game so that's fun.
2026-10-10 01:19:12 +02:00
FakeMichau f0e7fc288a Clean up the slop
With more slop
2026-10-09 22:01:23 +02:00
FakeMichau 78929fc34b Add a shader for adding camera motion to MVs
Slopped. Used in XeFG inputs in Witcher 3 but I believe this is just a game bug. Hudless is still incorrectly tonemapped for example.
2026-10-09 21:24:30 +02:00
FakeMichau 08cb97d4b5 Add advanced FG settings to XeFG inputs 2026-10-09 19:53:11 +02:00
FakeMichau 050a42b42d Minor fixes around native XeFG and XeFG inputs 2026-10-09 18:01:12 +02:00
Michael Robles cfcc4a9097 Only prefer XeLL for the XeFG input while the game has it enabled
The Witcher 3 has both XeLL and Reflex. Once it had used XeLL, Auto kept
XeLL as the input even after switching to the game's own DLSSG with
Reflex. The game then turned XeLL off, which disabled Reflex in the
driver, and its Reflex calls were dropped. Auto now goes back to Reflex
when the game turns XeLL off.
2026-10-09 15:19:35 +02:00
FakeMichau db97f3ddfe Try to make low latency input/output a thing
So much slop... not even good slop, if that's a thing. It really cannot figure out all the combinations at play here.
2026-10-09 15:19:35 +02:00
FakeMichau 0584093ccd Add upscaler inputs fallback to XeFG inputs
Cyberprank is STOOPID, doesn't send the required inputs to XeFG when using DLSS.
2026-10-09 15:19:35 +02:00
FakeMichau d446b61c7f Formatting 2026-10-09 15:19:35 +02:00
Michael Robles 90fc27d899 Add XeFG input and enable low latency input/output
XeFG input lets a game's own XeSS FG feed any FG output. XeFG output
redirects the game's libxess_fg to OptiScaler's copy (with Override XeFG
Ratio), FSR-FG and DLSSG outputs take over the game's XeFG calls.

Turns on LOW_LATENCY_INPUTS and adds a Reflex output. The FG output now
sets the latency output (XeFG: XeLL, DLSSG: Reflex, FSR-FG: AntiLag 2 on
AMD, Reflex on NVIDIA, XeLL on Intel), FSR-FG with Reflex sends the same
async markers and Reflex Sync as DLSSG, and the input choice is no longer
overwritten.
2026-10-09 15:19:35 +02:00
FakeMichau f6f75ddf01 Prevent NvngxFFX errors from causing a memory leak 2026-10-09 01:05:18 +02:00
FakeMichau a098e6fbf6 Fix crashing with MangoHud when using Dx11 FG 2026-10-08 23:55:08 +02:00
TheRazerMD 7651154215 Added Upscaler/FG ratio to SR/FG status
Also expanded the sidebar a bit
2026-10-08 19:16:12 +02:00
TheRazerMD 434b9555d9 Added Spoof and OptiPatcher (OP) status, added API/GPU/Input info row to Upscalers section 2026-10-08 14:37:28 +02:00
TheRazerMD b97dd47660 Added separate Quirks tab visible only when quirks exist 2026-10-08 12:49:02 +02:00
TheRazerMD 8eb51b2f4d Clang fix 2026-10-08 12:12:35 +02:00
TheRazerMD dafcaf8ddb Add Sharpness as default for Custom tab 2026-10-08 12:07:30 +02:00
kebas a676a402a0 Don't treat 0x0 swapchains as overlay calls
Width/Height 0 in the swapchain desc means DXGI uses the window size,
so these are real game swapchains and should be wrapped.
2026-10-08 11:09:13 +02:00
FakeMichau ee0dc449bb Make Force DMFG take priority over FG dropdown 2026-10-07 22:00:25 +02:00
FakeMichau 13db0069c0 When using DLSSG via SL, by default follow the multiplier set by the game
Slopped.
2026-10-07 19:33:13 +02:00
FakeMichau ac7a011122 Clean up the meaning of usesDxvk 2026-10-07 17:30:45 +02:00
FakeMichau b040666d8b Change up upscaler selection
Slopped. Vendor's upscaler should be at the top. For FFX, the highest version fsr is shown in the main selection and all the other ffx upscalers are left in the separate selection.
2026-10-07 17:06:07 +02:00
FakeMichau 74eef1c11b Smol menu clean ups 2026-10-07 13:03:34 +02:00
FakeMichau 1cc9d5a149 Use dxgi swapchain for the menu on Linux + hopefully fix DX11 FG on Linux
Slopped.
2026-10-07 12:36:40 +02:00
FakeMichau d5f44ae418 Fix a small issue with upscaler time in dx11 w/dx12
Don't affect opti rn but it might in the future
2026-10-07 00:58:47 +02:00
FakeMichau e199fac4e0 Add per shader GPU times to Vulkan
Slopped.
2026-10-07 00:54:11 +02:00
FakeMichau f72e47b9ba Add blur to menu's backaground + general adjustments
Slopped. Blur enabled by default. The custom tab is also enabled by default with some common boxes enabled. The menu is taller by default.

The menu is slowly coming together I'd say. Please do share your feedback on Discord, good or bad.
2026-10-07 00:09:42 +02:00
FakeMichau b971c82c77 Fix DLSSG output in some SL1 games 2026-10-06 17:28:54 +02:00
FakeMichau 0097f363e5 Implement late latching for reprojection
Slopped. Updates the camera rotation using the absolute latest data. The idea is that the CPU constantly updates a mouse position that the GPU sees, GPU grabs it without sync (which is technically a race condition), uses them to compute the matrices and reprojects using that.
Basically what VR does but this is still not async.
2026-10-06 12:54:09 +02:00
FakeMichau 4f1ec3fbe7 Use multiple constantBuffers for reprojection
Fixes a mouse stutter that could sometimes be seen. This is actually a race condition that we have with all of our shaders so something to look into.
2026-10-06 12:11:53 +02:00
FakeMichau 899b9488fe Swap positions of Open Wiki and Close buttons
Hopefully you will quickly learn to not open the wiki constantly. But maybe some will learn that we have a wiki this way.
2026-10-05 23:23:33 +02:00
FakeMichau 83bd6399e5 Make the menu manually resizeable vertically
Slopped.
2026-10-05 23:08:19 +02:00
FakeMichau ff50ecd60a Fix missing depth when using DLSSG output with some NvngxFG replacements 2026-10-05 21:42:01 +02:00
FakeMichau 7f0bbb7e97 Try to fix missing hudless in some cases
Slopped. CheckForFrame can get called in the middle of resource tagging and that would trigger hudless to be assigned to an incorrect frame
2026-10-05 21:00:54 +02:00
FakeMichau 1818c2af2e Improve performance of reprojection's CutoffExpandPx
Slopped. The common value of around 2 has basically no cost now. Set to 1 by default now
2026-10-05 20:04:15 +02:00
FakeMichau a45a18b584 Separate per game config defaults from actual quirks
Any config can have a per game value now without having to create special quirks and handling for each one. The values can also be conditional.

We were getting close to the uint64_t limit with our quirks so something had to be done.
2026-10-05 19:18:06 +02:00
FakeMichau 97e99b4c5d Implement hudless format handing in NvngxFFX 2026-10-05 00:37:43 +02:00
FakeMichau ed30706eba Fix DLSSG output state not showing in the menu 2026-10-04 23:34:51 +02:00
FakeMichau 4abfd7b65d Try to make sl ota more robust
A lot of slop, some overkill but sl hooks were already a mess and this makes them slightly cleaner in some areas.
Opti should now survive a game being on the sl denylist and sl plugin unloads.
2026-10-04 21:34:05 +02:00
FakeMichau 500ed3354f Slopification of dx12 hooks 2026-10-04 14:34:28 +02:00
FakeMichau 3658a08f2e Hopefully fix XeFG/XeLL dll issues 2026-10-04 13:30:09 +02:00
FakeMichau ef4e57068f Guess who forgot to add a null check v67 2026-10-04 12:20:48 +02:00
FakeMichau b49177b0d7 Hide some features from the menu unsupported by Vulkan 2026-10-04 12:04:39 +02:00
FakeMichau d63306eae2 Menu layout redesign
Heavily slopped. Still open for suggestions, it's not necessarily final. Should give room for any future expansion. If you prefer having some settings on a single page then please take a look at the custom tab.
2026-10-03 20:31:32 +02:00
FakeMichau e608a0530d Nvidia memes 2026-10-03 19:27:11 +02:00