Commit Graph
4437 Commits
Author SHA1 Message Date
Michał Lewandowski c983a50033 Merge pull request #1126 from levzzz5154/fix/nvapi-dxgi-recursion
Fix dxvk-nvapi recursion in IdentifyGpu::queryNvapi (fixes #1101)
2026-09-01 23:07:25 +02:00
levzzz d7a4ecfae3 Fix GPU probe recursion with dxvk-nvapi (issue #1101)
queryNvapi() calls NvAPI_Initialize, which (via dxvk-nvapi) internally
creates a DXGI factory and enumerates adapters. That enumeration hits
OptiScaler's hooked EnumAdapters/EnumAdapters1, which calls getAllGpus()
again while is_fetching is already set and returns an empty list.
dxvk-nvapi then sees zero adapters, NvAPI_Initialize fails, and
dlssCapable is never set - hiding DLSS in games like Death Stranding 2.

Wrap queryNvapi in ScopedSkipDxgiLoadChecks so nvapi's internal DXGI
enumeration passes through to the real adapters.
2026-09-01 21:28:12 +05:00
FakeMichau 7dbc379d80 Avoid a potential use after free with some shaders 2026-09-01 03:40:48 +02:00
FakeMichau 4f17a05da8 Correctly tie extension spoofing to the config 2026-08-31 02:48:57 +02:00
FakeMichau 51955f004b Fix vulkan spoofing being active despite successful patcher 2026-08-31 02:04:29 +02:00
FakeMichau 1036fb3d2a Automatically apply Streamline Vk extension spoofing for unsupported GPUs
Only on the SL level, doesn't touch actual VK calls
2026-08-31 01:48:08 +02:00
FakeMichau c7087cfce5 Fix a black screen with Nukem's in Vulkan 2026-08-31 00:20:12 +02:00
FakeMichau 2bd7b54434 Add magnifier to Vulkan 2026-08-30 18:54:23 +02:00
FakeMichau 97a7727949 Refactor Vk w/Dx12 upscalers
Very similar to the Dx11 w/Dx12
2026-08-30 02:13:53 +02:00
FakeMichau d29ea1b2a3 Refactor VK shader dispatch 2026-08-29 21:40:30 +02:00
FakeMichau bcf7030cd5 Refactor VK shaders
Mostly slop coded so we'll see how it goes. Truly boring compared to doing it yourself.
2026-08-29 04:06:52 +02:00
FakeMichau 70f6484595 Show OS shader's name in GPU time breakdown
Also small refactor of OS Dx12
2026-08-29 00:00:02 +02:00
FakeMichau bd1221d63a Prevent current sharpness value from flickering in the menu 2026-08-28 23:12:22 +02:00
FakeMichau c5ddb41120 Prevent flickering of the per shader breakdown 2026-08-28 22:58:22 +02:00
FakeMichau c603b69af2 Minor fixes to prevent displaying invalid GPU times for shaders 2026-08-28 22:53:51 +02:00
FakeMichau f8ef5ea641 Always show Force XeLL in the menu 2026-08-28 02:52:26 +02:00
FakeMichau 8fb29f0fe8 Move global fake frame counts to IFGFeature 2026-08-28 02:21:05 +02:00
FakeMichau c64533a267 Per shader GPU time for DX11 2026-08-27 22:26:47 +02:00
FakeMichau 9c7348f678 Per shader GPU time for DX12
Not all are yet displayed as some are used for FG as opposed to upscaling which requires some consideration
2026-08-27 20:10:57 +02:00
cdozdil 485f7acfd4 Merge branch 'master' of https://github.com/optiscaler/OptiScaler 2026-08-27 00:00:49 +03:00
cdozdil 1802e9359d Use correct state for overriding UE resource barriers 2026-08-26 23:59:35 +03:00
cdozdil 14c89cbaa2 Don't use UE resource state fixes on Dx11 games 2026-08-26 23:59:13 +03:00
cdozdil fea10ae616 Fix for XeSS heap creation error 2026-08-26 23:43:07 +03:00
FakeMichau 4a0700e757 Magnifier for native DX11 upscalers 2026-08-26 22:29:41 +02:00
FakeMichau b3cf7f0e2f Refactor DX11 shaders 2026-08-26 21:52:23 +02:00
FakeMichau dd5dfe3b1f Address compiler warning related to inheritance 2026-08-25 23:56:15 +02:00
FakeMichau fddd58a53e Refactor DX11 shader dispatch
Exactly how it's done in DX12
2026-08-25 23:42:09 +02:00
FakeMichau cb838a8789 Attempt to handle letterboxing with Nvngx FFX + delayed FFX destruction 2026-08-25 04:08:02 +02:00
FakeMichau 882536fbc7 Mutex Nvngx FG context 2026-08-25 03:49:57 +02:00
FakeMichau 17f936e3dd Kill native AL2 when we expect the game to use DLSSG
Improves memeseye.

All just kinda a hack and not a proper fix but the proper fix in our case would most likely be low latency inputs and outputs that are still WIP
2026-08-25 00:05:45 +02:00
cdozdil 373f5ae266 Fix XeFG crash with latest Intel drivers 2026-08-22 22:53:22 +03:00
FakeMichau 0f15408adf Slight DispatchFlags adjustment 2026-08-22 04:20:24 +02:00
FakeMichau d8e7693b63 Display current sharpness value in the menu 2026-08-22 00:19:33 +02:00
FakeMichau d414d50ec9 Kill native AL2 if SL Reflex is hooked
Not perfect but will have to do until low latency input and output are done
2026-08-22 00:03:12 +02:00
cdozdil e61531bad5 Added DLSS-D Preset F 2026-08-21 23:01:32 +03:00
FakeMichau 97d746b807 Rework spoof skipping
Kept most of the skips as global (applied to every thread) as I'm not sure which can be made thread-specific. But should be easier to debug and apply a narrower scope if needed
2026-08-21 20:25:13 +02:00
cdozdil 86a68a6929 Fixes to the Dx11 resource management 2026-08-21 00:25:43 +03:00
TheRazerMD f2ec359a68 Added Streamlined Fetcher BAT 2026-08-20 00:26:49 +02:00
FakeMichau dcbabe62a9 Remove some logging 2026-08-18 02:16:18 +02:00
FakeMichau 9cf0e21fb0 Try to avoid having no nvngx replacement selected when the GPU doesn't support DLSSG 2026-08-18 01:55:09 +02:00
FakeMichau fb1262e9d5 Fix wording in a log 2026-08-18 01:35:25 +02:00
FakeMichau 64efe037c0 Modify FindFilePath to avoid it finding dev dlls 2026-08-18 01:34:38 +02:00
FakeMichau a5cc5e14a0 Disable SL menu check for now 2026-08-18 01:33:28 +02:00
FakeMichau e3bc1d4719 Correct assumptions about resource states in Nvngx FFX 2026-08-18 00:45:57 +02:00
FakeMichau dab3993927 Improvements to Nukem's Depth copy hack 2026-08-18 00:44:54 +02:00
FakeMichau 4290834139 Fixes around DLSSG via SL -> DLSSG conversion
Generally no need to do this but there were some bugs
2026-08-17 21:14:46 +02:00
FakeMichau 70c1694a04 Skip loading game's DLSSG when using Opti's DLSSG output
SL will return uninited errors on calls, games should respect that but we'll see
2026-08-17 19:12:08 +02:00
FakeMichau 1c380205ef Add back streamline version check to the menu 2026-08-17 17:35:15 +02:00
FakeMichau 90fd06409c Prevent loading of DLSSG plugin when using DLSSG inputs 2026-08-17 17:29:01 +02:00
cdozdil bd094f608d Added commandlist state resets for FG backends 2026-08-16 23:00:51 +03:00