1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-04 16:24:29 +01:00
Commit Graph

5997 Commits

Author SHA1 Message Date
WinterSnowfall
8e03b64ca4 [d3d8] Validate viewport dimensions on SetViewport 2024-09-12 16:39:40 +02:00
Robin Kertels
903f1af176 [d3d9] Fix PresentGDI 2024-09-12 15:39:21 +02:00
Kacper Michajłow
26a14c5175
[util] Fix GetEnvironmentVariableW usage 2024-09-12 00:04:49 +02:00
WinterSnowfall
3e26958906 [util] Add a framecap for Pandora Tomorrow 2024-09-12 00:02:34 +02:00
llyyr
1a1c3a4202 [d3d9,d3d11] recreate swapchain on VK_SUBOPTIMAL_KHR
The vulkan wayland wsi returns suboptimal when the window is
fullscreened and not directly scanned out, and there are modifiers
available that would allow the window to be directly scanned out.
Recreate the swapchain if we receive suboptimal result.

This allows us recreate the swapchain to use a modifier that allows
direct scan-out under winewayland on wayland compositors.
2024-09-11 16:38:26 +02:00
Philip Rebohle
c1a25df468 [dxvk] Fix some logic errors around sysmem chunk size 2024-09-11 15:21:03 +02:00
Philip Rebohle
565ec7e0d3 [dxvk] Remove dxvk.maxChunkSize option 2024-09-09 18:45:34 +02:00
Philip Rebohle
619b9b12c2 [dxvk] Implement dynamically growing chunk size
May reduce memory footprint for launchers.
2024-09-09 18:45:34 +02:00
WinterSnowfall
63506ee1ff [util] Enable cachedDynamicBuffers for Steel Soldiers and FIFA 2003 2024-09-08 19:26:46 +02:00
WinterSnowfall
22ff53013a [d3d8] Ignore unsupported D3DPRESENT_RATE_UNLIMITED 2024-09-08 19:25:16 +02:00
Billy Laws
9077e5212d [util] Use cdecl calling convention for __wine_dbg_output
This matches wine's definition, fixes crashes when wine is built with clang.
Since __cdecl isn't defined for non-windows targets ifdef this needs all
dbg callback uses to be ifdefed out.
2024-09-07 19:44:36 +02:00
Robin Kertels
daccde7643 [d3d9] Don't set IMAGE_USAGE_SAMPLED_BIT for non-msaa depth stencil surfaces 2024-09-04 22:17:10 +00:00
Robin Kertels
7f8cfec46f [d3d9] Always set IsAttachmentOnly for CreateOffscreenPlainSurfaceEx
Surfaces cannot be bound as textures.
2024-09-04 22:17:10 +00:00
Robin Kertels
1b172344eb [d3d9] Remove redundant scene check in StretchRect 2024-09-04 22:17:10 +00:00
Robin Kertels
11efd5092e [d3d9] Handle remaining edge cases of Discard & Lockable 2024-09-04 22:17:10 +00:00
WinterSnowfall
2c23e462b3 [d3d8] Clamp BaseVertexIndex to INT_MAX during use 2024-09-04 21:11:08 +02:00
Philip Rebohle
d0ea5a4a87 [spirv] Account for unreachable continue blocks
Fixes code gen in the following pattern encountered in Black Ops 3:

loop
  break
endloop

We cannot eliminate the loop since we have to adhere to structured
control flow rules, which might be broken if the code inside the
loop was non-trivial.
2024-09-04 02:26:35 +02:00
Philip Rebohle
427e706a40 [util,d3d11] Be more robust against use-after-free
Sims 4 binds an SRV after destroying it, so we need to ensure our internal
view pointers are null or we'll create a problem otherwise.
2024-09-02 22:03:26 +02:00
Philip Rebohle
04d558cf2e [util] Make frame rate limiter enablement heuristic more robust
Allow for more buffering to happen in order to not enable the limiter
too eagerly.
2024-09-02 17:50:47 +02:00
ericzlmd
38308d443e [build] added <algorithm> header for failed subcommand fix - remove_if 2024-08-31 13:23:26 +02:00
Tiagoquix
d31b7997c0 [util] Enable cachedDynamicBuffers for APB:Reloaded
Fixes frametime jumps when shooting.
Discussed on the Discord server.
2024-08-30 20:27:05 +02:00
MickAlmighty
8c58bef9cf [util] Hide Intel for Kena: Bridge of Spirits to skip faulty water rendering path. 2024-08-30 17:39:21 +02:00
Robin Kertels
a5fc08d176 [util] Disable direct buffer mapping for Max Payne 1
Improves performance by avoiding stalls.
2024-08-30 00:37:58 +02:00
Robin Kertels
e4fd9ff16b [d3d11] Always keep barrier control options set by app profile 2024-08-26 23:15:32 +02:00
Robin Kertels
eb8d1885bd [dxgi] Remove emulateUMA option
The option was only used for GTA IV.
It broke and we have a better solution now.
2024-08-24 19:05:44 +02:00
Robin Kertels
9a280b063a [util] Set maxDeviceMemory for GTA IV
... and replace emulateUMA
2024-08-24 19:05:44 +02:00
Philip Rebohle
1c30bc92bb [d3d11] Validate viewport parameters
And skip invalid calls. Fixes Senran Kagura Peach Ball.
2024-08-23 14:39:56 +02:00
Philip Rebohle
6da1ba7cff [dxgi] Avoid reporting large VRAM amounts as a power of two 2024-08-23 01:13:10 +02:00
Philip Rebohle
d89e324bc4 [util] Remove obsolete Metro Exodus EE config
No longer necessary or useful.
2024-08-20 13:33:04 +02:00
Philip Rebohle
be45907479 [dxgi] Under-report iGPU memory if dGPUs are present
Should help games pick the correct GPU on setups with integrated graphics.
2024-08-20 13:33:04 +02:00
Philip Rebohle
02d8fa593b [dxgi] Change reported UMD driver version
Fixes a potential crash in Hunt Showdown.
2024-08-15 22:04:06 +02:00
Philip Rebohle
71e44b380d [util] Enable context lock for EDF6
May or may not fix random crashing.
2024-08-15 20:55:17 +02:00
Philip Rebohle
159f540e10 [dxvk] Bump internal engine version
Due to large shader-related changes.
2024-08-14 22:15:50 +02:00
Philip Rebohle
1e5b78e8ea [d3d9] Enable longMad behaviour by default
And remove the respective config option.
2024-08-14 22:15:50 +02:00
Philip Rebohle
60e04503a6 [d3d11] Enable longMad/longDot behaviour by default
And remove the respective config options.
2024-08-14 22:15:50 +02:00
Philip Rebohle
beaf01ecad [dxbc] Reverse order of long dot products
Matches output of AMD's dxbc compiler this way.
2024-08-14 22:15:50 +02:00
Philip Rebohle
813b653645 [spirv] Implement basic dead code elimination
Fixes invalid SPIR-V in Trails through Daybreak.
2024-08-14 22:15:50 +02:00
Blisto91
6308266a0f [d3d9] Default to Strict floatEmulation for amdvlk 2024.Q3.1
The AMD Linux open source driver now optimizes for the Strict floatEmulation path.
2024-08-13 17:18:34 +02:00
Philip Rebohle
0d0b9eaac1 [util] Enable d3d11.longDot for Trails through Daybreak 2024-08-11 18:30:59 +02:00
Philip Rebohle
4ee907a6df [dxbc,d3d11] Add option to explicitly emit long dot products 2024-08-11 18:30:59 +02:00
Paul Gofman
5c987ea3d1 [d3d9] Handle map failure in texture initializer 2024-08-08 21:42:04 +02:00
Jeff
e38693cdbc [d3d9] Allow querying ID3D9VkInteropTexture from surfaces 2024-08-08 05:25:41 +01:00
Blisto91
7c9e1ed7cd [util] Set maxChunkSize to 1 for Epic Games Launcher
Also move up Battle.net so the launchers are grouped
2024-08-03 14:57:36 +02:00
Blisto91
e2b823b760 [util] Enable cachedDynamicBuffers for Art of Murder
Horrible CPU bound perf
2024-07-31 18:34:39 +02:00
Blisto91
1077d6a67f [util] Set textureMemory to 0 for Operation Racoon City
Works around a crash
2024-07-30 09:15:28 +02:00
Blisto91
33bf09122c [util] Add configs for Splinter Cell Conviction
The game will sometimes black screen upon alt-tab without deviceLossOnFocusLoss.
Spoofing the GPU through dxgi to a known one from its list prevents the System Detection tool from complaining that it is unsupported on some setups.
2024-07-28 23:04:35 +02:00
Eric Sullivan
c26b2ade1d [dxvk] Update shouldSubmit to correctly handle descriptorPoolOverallocation
Currently shouldSubmit will force the dxvk context to be flushed when
too many descriptor pools have been allocated. This heuristic does not
work when VK_NV_descriptor_pool_overallocation is in use because there
will only ever be a single pool.

This change updates the heuristic to use the number of allocated sets
when VK_NV_descriptor_pool_overallocation is in use.
2024-07-25 23:53:03 +02:00
Tobias Jakobi
10ab85c3ba [d3d8] Remove references to d3d8.useShadowBuffers for now
The current D3D8 codebase in DXVK does not implement this
feature, i.e. setting this option is a NOP. It was
implemented in D8VK at some point, but was removed before
the big merge.

Remove any references to avoid confusion.
2024-07-22 00:14:15 +02:00
Robin Kertels
031a98c232 [d3d9] Allow fourcc formats as the source in CheckFormatConversion
The docs say:
"The source format must be a FOURCC format or a valid back buffer format."
2024-07-19 19:25:31 +00:00
Robin Kertels
b7d61b70c1 [d3d9] Use converted format for multiplane formats in CheckFormat 2024-07-19 19:25:31 +00:00