Philip Rebohle
0ac247c89c
[util] Add helper class for common flush heuristic
2023-01-17 15:01:06 +01:00
Blisto91
cc9266edaa
[util] Add config for Alien Rage
...
Reporting a GTX 295 puts us into the highest behind the scenes graphics settings preset bucket and prevents the shadow issue with `FloatingPointRenderTargets` set to false in the lower preset bucket.
NvapiHack needs to be disabled on Linux since the game pings it in the Windows system folder and want's the VendorId to match your GPU. Else the issue will still happen on Nvidia Linux
2023-01-13 14:15:54 +01:00
Blisto91
3ed0a4fd43
[util] Set Secret World Legends launcher to SM 2
2023-01-08 10:47:04 +01:00
Blisto91
7b2024888e
[util] disable unmapping for Final Fantasy XIV d3d9
2022-12-11 14:01:27 +01:00
Blisto91
4a4d880130
[util] Set TRAHA Global to Intel vendor id
2022-12-04 23:06:59 +01:00
Philip Rebohle
3b9235fe23
[util] Set max frame latency to 1 for Sonic Frontiers
...
Seems like the only reason this game passes QA is because there *was* no
QA. Seriously broken when GPU-bound even on Windows.
2022-11-21 17:18:01 +01:00
Robin Kertels
1a3b576d35
[util] Implement bit vector
2022-11-21 16:06:49 +00:00
Blisto91
2c53459f4c
[util] disable floatControls for Bad Company 2
2022-11-21 13:13:57 +01:00
Joshua Ashton
e037d24017
[util] Default initialize BitMask to 0
...
Found via an MSVC warning, may not fix anything, but good to do anyway.
2022-11-17 17:38:46 +01:00
Joshua Ashton
287412f746
[util] Cast _tzcnt_u64 to uint32_t
...
MSVC has _tzcnt_u64 return a uint64_t, which obviously, it can never return a number that big.
2022-11-17 17:38:46 +01:00
Blisto91
ad3c316d0c
[util] Set Black Mesa customVendorId to Nvidia
2022-11-16 11:30:40 +01:00
Robin Kertels
785bc9738f
[util] Disable DC Single Use Mode for Cardfight!! Vanguard Dear Days
2022-11-15 16:55:38 +01:00
Blisto91
bc08cac220
[util] Enable apitraceMode for Sonic & All-Stars Racing Transformed
2022-11-09 19:22:14 +01:00
Blisto91
145c1ce127
[util] Limit fps to 60 for some WayForward games
2022-11-06 15:32:28 +01:00
Vlad
40a4908a2a
Support for MW:R H1-Mod
2022-11-05 16:07:16 +01:00
Blisto91
e1eec9b359
[util] Set Fallout 3 to Nvidia vendor id
2022-11-05 16:07:04 +01:00
Robin Kertels
892f676605
[util] Disable direct buffer mapping for Dragon Age Origins
2022-11-02 16:12:28 +01:00
Adam Jereczek
0462454d2b
Fix for saving vertex shader constants with a StateBlock
...
Co-authored-by: aroztkow <aneta.roztkowska@intel.com>
2022-10-31 18:16:15 +00:00
Winter Snowfall
f84f992d44
[util] Also enable workaround for the "mod load exe" of ToEE
2022-10-25 03:45:53 +02:00
Joshua Ashton
3b90f5a77f
[util] Enable apitrace mode for Hammer World Editor
2022-10-15 17:21:29 +01:00
Vinjul1704
038ed23a5d
[util] Force SM1 for the Escape from Tarkov launcher
2022-10-06 21:32:19 +02:00
Joshua Ashton
fa45e5838e
[util] Fix tzcnt on ARM64 + Clang
...
This needed brackets around this conditional.
2022-10-05 19:01:05 +01:00
Blisto91
f8bd19f210
[util] Cap Sonic Adventure 2 to 60 fps
2022-09-30 19:14:59 -02:30
Robin Kertels
5c22e2fbda
[util] Enable GTA IV config for Episodes from Liberty City
2022-09-19 15:11:01 +01:00
Robin Kertels
c759fb45aa
[util] Disable DF support for pretty mirrors in GTA IV
2022-09-19 15:11:01 +01:00
Philip Rebohle
0bb0c1e646
[util] Enable ignoreGraphicsBarriers for FFXV
...
Massively improves performance when VXAO is enabled.
2022-09-19 15:43:45 +02:00
xpander69
07094ac4f9
[util] Remove fps cap from Warhammer Online
...
This is a bit embarrassing. Added this config few days ago to counter the animation breakages, but now Return of Reckoning devs patched the executable on their side to cap the framerate by default. So the workaround is not needed anymore.
2022-09-16 21:32:49 +01:00
Philip Rebohle
3543673c5c
[util] Add helper to compute display refresh related stuff
2022-09-16 12:49:42 +02:00
Philip Rebohle
e019edc8c3
[util] Add helper to get time point from raw counter value
2022-09-16 12:49:42 +02:00
Philip Rebohle
c1ab09a048
[util] Move platform-specific sleep code to dedicated helper class
2022-09-16 12:49:42 +02:00
Joshua Ashton
68c528d345
[util] Implement bitmask iterator on non-x86 platforms
2022-09-13 20:11:17 +01:00
Joshua Ashton
2218462ff2
[util] Implement spin on ARM64
2022-09-13 20:11:17 +01:00
Joshua Ashton
57cee691b3
[util] Implement replaceNaN for non-x86 platforms
2022-09-13 20:11:17 +01:00
Joshua Ashton
2d8e14fcf4
[util] Implement bcmpeq for non-x86 platforms
2022-09-13 20:11:17 +01:00
Joshua Ashton
c3093b546e
[util] Implement tzcnt for non-x86 platforms
2022-09-13 20:11:17 +01:00
Joshua Ashton
466026632d
[util] Only include x86 intrinsics headers on x86
2022-09-13 20:11:17 +01:00
Joshua Ashton
736f91fad1
[util] Add macro to determine CPU arch
2022-09-13 20:11:17 +01:00
Riesi
26c8f46b6b
[util] Limit King Of Fighters XIII to 60 FPS
...
Game speed is tied to FPS
fixes #2647
2022-09-12 18:53:42 +02:00
Blisto91
e05e063df0
[util] Enable memoryTrackTest for SiN Episodes Emergence
2022-09-12 18:37:30 +02:00
Joshua Ashton
935541bcb0
[util] Make math types have implicit copy assignments
...
We define implicit copy constructors, should also define implicit copy assignments.
2022-09-10 21:46:07 +00:00
Philip Rebohle
ccfb986e72
[dxbc] Rework TGSM workaround
2022-09-10 14:27:13 +02:00
xpander69
2ec25f588f
Cap Warhammer Online to 100 FPS
...
Animations break with 100+ FPS. Engine Limitation. WAR-64.exe is affected by this. WAR.exe is capped to 100 by default.
2022-09-10 13:02:47 +02:00
Robin Kertels
2b16134b64
[util] Enable d3d9.memoryTrackTest for The Ship
2022-09-07 21:05:48 +02:00
Philip Rebohle
11ef172c79
[util] Add stubs for DuplicateHandle and GetCurrentProcess
2022-09-02 14:25:12 +02:00
Joshua Ashton
b05ae33273
[util] Return null if HMODULE is nullptr in GetProcAddress compat
...
dlsym with NULL will try to find the symbol from anything currently
loaded.
2022-09-01 04:37:43 +02:00
WinterSnowfall
3e0031cefe
[util] Add a maxAvailableMemory limit for Heroes of Annihilated Empires
2022-08-30 13:21:29 +02:00
Joshua Ashton
f6fcbb7127
[util] Rename CloseLibrary to FreeLibrary in win32 compat headers
...
Typo...
2022-08-27 19:32:03 +02:00
Blisto91
8f24093864
[util] cap MGS V Ground Zeroes vram at 4095
2022-08-26 03:52:02 +02:00
Joshua Ashton
9610e29a65
[util] Implement get_frequency + get_counter on non-Windows platforms
2022-08-21 22:24:06 +02:00
Joshua Ashton
8921f62539
[util] Rename getFrequency, getCounter -> get_frequency, get_counter
...
To be consistent with STL naming conventions
2022-08-21 22:24:06 +02:00
Joshie
1c1dba4624
[util] Implement thread set_priority on non-Windows platforms
2022-08-21 22:17:33 +02:00
Joshua Ashton
ba8868be24
[util] Add win32 compat header
...
Header of misc. stubs and re-implementations.
2022-08-21 21:40:55 +02:00
Joshua Ashton
9509ec1144
[util] Define platform path_string type
2022-08-21 21:28:04 +02:00
Joshua Ashton
5c2a748d96
[util] Rename always_inline to force_inline
...
This conflicts with other libraries using the always_inline attribute in GCC as it defines it with the same name.
2022-08-21 21:25:54 +02:00
Philip Rebohle
1c35fbb33c
[util] Fix strlcpy compiler warning
2022-08-21 01:48:29 +01:00
Kassin Dornelles
f80347d9a9
[util] Remove RE:REV2 and RE5 workarounds
...
There's no real impact, it doesn't fix stuttering (for non-GPL drivers) and since GPL got merged this is not needed anymore
2022-08-21 01:52:39 +02:00
Joshua Ashton
af802fbff8
[util] Delete util_monitor
...
No longer used, replaced by new wsi interface
2022-08-20 20:27:07 +02:00
Philip Rebohle
a695644fea
[d3d9] Remove alphaTestWiggleRoom option
2022-08-18 00:10:39 +02:00
Philip Rebohle
61025c0079
[dxvk] Don't disable frame rate limiter if vsync is enabled
...
This only works if we know the actual refresh rate of the display.
However, in a wine virtual desktop or with proton's fshack, this
is often not the case, so we'd see a 60 Hz mode on a high-refresh
rate display and never actually enable the limiter.
2022-08-17 01:53:24 +02:00
Riesi
04bc1bac73
[util] Limit Beyond Good and Evil FPS to 60
...
UI breaks on higher FPS
2022-08-16 19:11:41 +02:00
Joshua Ashton
cf9e217e7b
[util] Support for fps limiter on non-Windows platforms
...
Defaults to a sleep granularity of 0.5ms, which is slightly on the cautious side.
Calls through to std::this_thread::sleep_for directly, which calls through to nanosleep.
2022-08-16 14:32:07 +02:00
Joshua Ashton
d1e2b89282
[util] Use chrono literal for ms in fps limiter
2022-08-16 14:32:07 +02:00
Joshua Ashton
5fcc9a1bd1
[util] Move platform specific sleep to own function in fps limiter
2022-08-16 14:32:07 +02:00
Joshua Ashton
05a5b82f59
[util] Move sleep granularity getting to own function
2022-08-16 14:32:07 +02:00
Joshua Ashton
b885883e06
[util] Rename NtTimerDuration to TimerDuration
2022-08-16 14:32:07 +02:00
Robin Kertels
46cb05ce45
[d3d9+util] Always ignore D3DLOCK_DONOTWAIT
...
We only ever stall when locking a texture that was
previously used with GetRenderTargetData or
GetFrontBufferData. Games are known to break
if locking those textures doesn't succeed.
2022-08-12 14:18:13 +01:00
Robin Kertels
5cdee45387
[util] Disable direct buffer mapping for GHWT
...
The game ends up discarding a 11MB buffer which causes it
to run out of address space and crash. Disabling direct buffer
mapping makes it use staging buffers and the staging buffer
limit saves the day.
2022-08-11 04:36:01 +01:00
Robin Kertels
f031ce44cf
[util] Set lower memory limits for Guitar Hero WT
2022-08-10 17:31:55 +02:00
Philip Rebohle
67f937111d
[dxvk] Remove shrinkNvidiaHVVHeap workaround
...
No longer needed.
2022-08-10 16:39:58 +02:00
Joshua Ashton
50018de483
[util] Use topath helper for fstreams
2022-08-09 14:16:50 +01:00
Joshua Ashton
5de058e14a
[util] Introduce topath helper
...
Manages converting strings to the right type for paths per-platform
2022-08-09 14:16:50 +01:00
Joshua Ashton
d9000485ea
[util] Add stubs for shared resources on other platforms
2022-08-09 14:16:50 +01:00
Joshua Ashton
8c3a44cac4
[util] Add stubs for GDI functions on other platforms
2022-08-09 14:16:50 +01:00
Philip Rebohle
4831909656
[d3d9] Enable apitrace mode for The Witcher
2022-08-07 20:04:37 +02:00
Blisto91
7b28bbae11
[util] Disable unmapping for Saints Row 2
2022-08-06 21:13:32 +01:00
Georg Lehmann
8e37949a71
[util] Use raw tzcnt for BitMask iterator
...
Dereferencing an end iterator is UB, so we don't have to care about the 0
case.
2022-08-03 22:34:21 +02:00
Philip Rebohle
fc7e934854
[util] Always inline Rc::decRef and Rc::incRef
...
GCC feels the need to generate functions with two instructions for some
reason. Doesn't meaningfully change performance, but makes profiling a
lot easier in some instances.
2022-08-03 15:15:11 +02:00
Joshua Ashton
ac2d3e952d
[util] Set m_size in small_vector::resize
...
Turns out this has been broken since it was added, meaning
isViewCompatible has always returned false putting us down slow paths
for UAV clears + copies for the past two years.
2022-08-02 23:54:23 +02:00
Philip Rebohle
5256d5e2f6
[dxvk] Fix minor edge cases when parsing floats in config file
2022-08-01 20:24:31 +02:00
Philip Rebohle
9671055538
[util] Support parsing floating point arguments
2022-08-01 12:05:43 +02:00
Philip Rebohle
ec7de66419
[util] Use transcodeString in tows and fromws helpers
2022-07-30 20:30:32 +02:00
Philip Rebohle
1c08725acd
[util] Use transcodeString in createDirectory function
2022-07-30 20:30:32 +02:00
Philip Rebohle
65070bd765
[util] Use transcodeString in setThreadName function
2022-07-30 20:30:32 +02:00
Philip Rebohle
200df73ba7
[util] Implement utility functions for string conversion
2022-07-30 20:30:32 +02:00
Robin Kertels
b4f432f1de
[util] Implement LRU list
2022-07-29 13:14:33 +01:00
Blisto91
b06140af47
[util] set maxFrameLatency to 1 for YS Origin
2022-07-25 16:20:28 +02:00
Philip Rebohle
b67d5c8c1d
[util] Correctly mark flag register as clobbered
2022-07-24 17:30:54 +02:00
Philip Rebohle
41ec5d2c52
[dxvk] Avoid bsf instruction
...
It's very slow compared to tzcnt on some CPUs, and we have a working fallback.
2022-07-24 15:24:00 +02:00
Philip Rebohle
9cd0473544
[util] Set ignoreGraphicsBarriers option for Stray
2022-07-23 21:21:22 +02:00
Blisto91
cb291f29a1
[util] enable alphaTestWiggleRoom for Ninja Blade
2022-07-23 13:02:53 +00:00
Blisto91
f2d4455cdf
[util] enable dialog mode for NFS 3 modern patch
2022-07-22 19:47:44 +02:00
Kassin Dornelles
75d0b1af96
[util] Remove Resident Evil 6 workaround
...
It's actually making things worse, so better use the default path
2022-07-20 12:00:13 +02:00
Blisto91
e28b268351
[util] Enable disableMsaa option for Mary Skelter 2
2022-07-18 22:17:13 +02:00
Leopard1907
48ac9b27e4
eveonline-dx12_workaround
...
Launcher probes feature level 12_1, if it fails to probe it DX12 option in launcher stays greyed out, doesn't let user enable DX12.
2022-07-17 13:51:40 +02:00
Joshua Ashton
e884413c49
[dxvk] Don't synchronize device if going for DLL shutdown
...
All our other threads have been destroyed and we can no longer synchronize with them properly.
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2022-07-14 17:04:52 +02:00
Philip Rebohle
f99a833f51
[d3d11] Remove d3d11.constantBufferRangeCheck option
2022-07-12 02:11:39 +02:00
Philip Rebohle
379c2e545e
[util] Work around silly compiler warnings on GCC 12.1
...
No, we're not actually reading 64 bytes from a 1-byte area.
2022-07-11 19:24:09 +02:00
Matej Dian
1b89394aa0
[util] Enable cached dynamic resources for DayZ ( #2709 )
2022-07-09 15:51:04 +02:00
Joshua Ashton
2bd062f9d6
[util] Implement LUID helpers for non-Windows platforms Initial commit
2022-07-09 01:14:18 +02:00
Blisto91
3733590756
[util] disable allowDoNotWait for Port Royale 3 ( #2668 )
2022-07-09 01:00:21 +02:00