Commit Graph

3573 Commits

Author SHA1 Message Date
Philip Rebohle 5083b8474c
[meta] Release 1.8.1 2021-03-01 16:49:02 +01:00
Philip Rebohle 9bdc491cb7
[dxvk] Fix potential iterator invalidation in deferClear/Discard
flushClears clears the deferred clear list, so we need to
break out of the loop on that code path.
2021-03-01 16:49:02 +01:00
Joshua Ashton 31063252eb
[d3d9] Don't implicit discard if read locked 2021-02-28 15:06:23 +00:00
Joshua Ashton 741070785a
[d3d9] Allow implicit discard for all backed buffers 2021-02-28 13:01:00 +00:00
Joshua Ashton 572315567c
[util] Add custom vendor id for Warhammer Online 2021-02-28 09:54:33 +00:00
Joshua Ashton 375f8323e2
[dxso] Don't warn about Phase opcode 2021-02-27 21:17:01 +00:00
Joshua Ashton eadfa94f8e
[meta] Add missing D3D9 options to dxvk.conf 2021-02-27 20:49:37 +00:00
Joshua Ashton 6bb271b299
[d3d9] Cleanup options code 2021-02-27 20:35:37 +00:00
Joshua Ashton c7bebe8267
[util] Add config for Warhammer Online 2021-02-27 20:31:13 +00:00
Joshua Ashton 8c2ec5d9c9
[d3d9] Clean up resource locking code 2021-02-27 20:15:39 +00:00
Joshua Ashton e8fc7ea23a
[d3d9] Add d3d9.allowImplicitDiscard option 2021-02-27 20:08:57 +00:00
Joshua Ashton 50d223e614
[d3d9] Add option to use device local memory for constant buffers
Useful for testing performance.
2021-02-27 19:29:52 +00:00
Robin Kertels eec4481ca0 [d3d9] Fix various issues in UpdateTexture
- Skip copies for empty or invalid rects
- align up the extent
- use util functions to slightly clean up the code
2021-02-27 17:31:15 +00:00
Joshua Ashton fa947774b0 [meta] Update README 2021-02-27 18:25:15 +01:00
Philip Rebohle 12693b17f9 [d3d9] Use DxvkSwapchainBlitter for presentation 2021-02-27 14:54:14 +00:00
Philip Rebohle 148272fbce [d3d11] Use DxvkSwapchainBlitter for presentation 2021-02-27 14:54:14 +00:00
Philip Rebohle 49f2b4c4a6 [dxvk] Introduce DxvkSwapchainBlitter and new presentation shaders
This is meant to provide a common rendering code for D3D9 and D3D11 presentation.
2021-02-27 14:54:14 +00:00
Philip Rebohle 277a4f0206 [hud] Explicitly set up viewport state 2021-02-27 14:54:14 +00:00
Joshua Ashton 869190964f
[build] Add Github Actions workflows 2021-02-27 12:56:53 +00:00
Joshua Ashton d51562fc9a [dxvk] Only pass needed amount of clear values when binding a framebuffer
Works around a Renderdoc bug and should hopefully make more sense.

The views are compacted in a framebuffer so it should be fine to do this.
2021-02-26 18:43:45 +01:00
Philip Rebohle db69ade7e7
[dxvk] Include fragment shader stage in render pass barrier as necessary
If we have readable depth, we need to make sure that the fragment shader
can actually, well, read the image.
2021-02-26 12:59:12 +01:00
Paul Gofman 71ffffb832
[vr] Use registry key to get OpenVR extensions list if available. 2021-02-26 12:46:22 +01:00
Philip Rebohle dcf4599c98 [d3d9] Use ATTACHMENT_OPTIMAL layout for render targets
Significantly improves GPU-bound performance on RADV in a number of games.
2021-02-26 05:02:32 +00:00
Philip Rebohle 1b97ca253f [dxvk] Actually transition source image in fragment shader blits
All meta ops should transition all involved images to the correct
image layout.
2021-02-26 05:02:32 +00:00
Philip Rebohle 9c6d3a2bf6
[d3d11] Fix RSGetViewports and RSGetScissorRects
If the output array is non-null, these functons always return the
number of valid viewports or scissors actually written to the array.

Fixes a wine test failure.
2021-02-26 03:35:57 +01:00
Philip Rebohle d118d35820
[d3d11] Fix IAGetIndexBuffer with optimized index buffers 2021-02-26 02:39:14 +01:00
Joshua Ashton 5ac9c45f65
[util] Add config for Mafia 2
https://gitlab.freedesktop.org/mesa/mesa/-/issues/1325
2021-02-25 15:09:00 +00:00
Philip Rebohle 5e55ced8b2
[dxvk] Fix deferred clear logic for overlapping image views
If we clear the same image subresources twice with different views
and then start rendering to one view, we may end up clearing to
the wrong clear value.
2021-02-21 14:53:03 +01:00
Philip Rebohle 96e1079526
[dxbc] Set usesDerivatives for gather and LOD query operations as well
Because these do implicitly use derivatives.
2021-02-21 14:24:54 +01:00
Philip Rebohle 5643bf47fe
[d3d11] Use discardImageView in DiscardView1 2021-02-21 02:51:59 +01:00
Philip Rebohle 5d4d32c613
[d3d11] Remove explicit spec constant for gamma texture
No longer needed.
2021-02-21 02:20:14 +01:00
Philip Rebohle 7168cc160f
[dxvk] Remove layout transition hack for presentable images 2021-02-21 02:19:44 +01:00
Philip Rebohle ab3de5e94b
[d3d11] Manually discard swap chain image view on present 2021-02-21 02:19:23 +01:00
Philip Rebohle 73a06aea72
[d3d9] Manually discard swap chain image view on present 2021-02-21 02:18:55 +01:00
Philip Rebohle e46bf78f31
[dxvk] Implement discardImageView
Built on top of the deferred clear logic.
2021-02-21 01:56:52 +01:00
Philip Rebohle 0ba3e693c9
[dxbc] Clean up some texture handling code 2021-02-20 23:39:15 +01:00
Joshua Ashton 80049c360e [dxvk] Fix resource tracking in attachment transitions
Fixes a crash in Portal 2 on DXVK native in which an old depth stencil is used after free after a device reset.
2021-02-20 19:34:49 +01:00
Joshua Ashton e9c91daba7
[dxvk] Fix out of bounds read when uploading HUD texture
The width + height does not add up to the size of the global array.
2021-02-20 14:37:00 +01:00
Philip Rebohle 5fc83a6075
[dxvk] Add missing trackImage to changeImageLayout 2021-02-20 14:35:57 +01:00
Philip Rebohle 1a1cc32b11
[dxvk] Store VkImage in barrier set rather than DxvkImage*
Avoids some accidental ref counting.
2021-02-20 14:35:22 +01:00
Philip Rebohle d66ecf4a94
[meta] Release 1.8 2021-02-19 05:29:50 +01:00
Joshua Ashton 59816a71b9
Revert "[d3d9] Don't minimise in WM_ACTIVATEAPP"
Not needed as this was an FSHack bug.

This reverts commit d87200c4d9.
2021-02-19 03:14:56 +00:00
Nicholas Fraser cd49d03ee9 [build] Add optional build-id
Build-ids are required for doing certain kinds of performance tracing.
For example build-ids let Linux perf find the correct objects and
transfer them to other machines via "perf archive".

This adds an option to add -Wl,--build-id to the linker. It can be
enabled by passing -Dbuild_id=true to meson or --build-id to
package-release.sh.

Signed-off-by: Nicholas Fraser <nfraser@codeweavers.com>
2021-02-18 17:52:55 +01:00
Philip Rebohle fe5e215dfc [dxgi] Support multiple outputs per adapter 2021-02-18 14:19:55 +01:00
Joshua Ashton d87200c4d9
[d3d9] Don't minimise in WM_ACTIVATEAPP
Sometimes mode-setting jank can occur and technically we'd need to re-set the mode on the next present if the game gets actually minimised.
2021-02-15 17:29:45 +00:00
Philip Rebohle df76a5252a
[dxvk] Use default layout for depth-stencil image descriptors
Apparently the image layout matching rules were relaxed at some point,
so just using DEPTH_STENCIL_READ_ONLY_OPTIMAL for descriptors is legal
even if the image is in DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL or
DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL in the current render pass.
2021-02-15 17:00:35 +01:00
Robin Kertels ec5c324643 [d3d9] Mark generated mip maps as dirty 2021-02-14 23:55:00 +00:00
Robin Kertels 021ffe7350 [d3d9] Regenerate auto mip gen textures in UpdateTexture
.. instead of copying them
2021-02-14 23:55:00 +00:00
Robin Kertels 338f6dfb0e [d3d9] Track dirty regions for UpdateTexture 2021-02-14 23:55:00 +00:00
Philip Rebohle a0cf5926d8
[dxvk] Add parameter to prepareImage to ignore clears
Otherwise we may flush clears while clearing a render target,
which is silly and undoes the layout optimizations.
2021-02-14 04:22:52 +01:00