1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 09:23:53 +01:00
Commit Graph

472 Commits

Author SHA1 Message Date
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