Ethan Lee
4b0e3111d1
meson: Check for bundled Vulkan/SPIR-V headers before adding them to the include list.
...
This feature requires Meson 0.58 or newer.
2024-03-06 15:21:15 +01:00
Philip Rebohle
0414bbe2d5
[dxgi] Add separate option to override vendor IDs for NVK
2024-03-06 14:46:21 +01:00
Robin Kertels
20490b678f
[d3d9] Fix missing else brackets in ResetSwapchain
2024-03-06 12:08:45 +01:00
Blisto91
428c98bc63
[util] Disable countLosableResources for all d3d9 Supreme Ruler games
...
All the d3d9 Supreme ruler games have this issue.
2024-03-05 15:28:11 +01:00
Robin Kertels
a0e39e94fa
[d3d9] Use most recently used swapchain for GetFrontBufferData
2024-03-05 13:54:15 +00:00
Robin Kertels
eaa732d0b3
[d3d9] Place GetFrontBufferData screenshot at window position
2024-03-05 13:54:15 +00:00
Robin Kertels
49b18f03fe
[d3d9] Unbind buffers in EndScene & Reset
2024-03-05 13:52:51 +00:00
Philip Rebohle
c9cea93b7b
[dxbc] Use raw access chains for buffer loads and stores
...
Maps more or less perfectly to D3D raw and structured buffers.
2024-03-05 14:41:18 +01:00
Philip Rebohle
69d74a46a0
[dxbc] Remove emitRawBuffer{Load,Store}
...
And factor these into the callers. We need to preserve the raw
index and offset parameters to use raw access chains.
2024-03-05 14:41:18 +01:00
Philip Rebohle
94098aa97d
[dxbc] Enable SPV_NV_raw_access_chains
2024-03-05 14:41:18 +01:00
Philip Rebohle
c677ba9b3e
[dxvk] Enable VK_NV_raw_access_chains if available
2024-03-05 14:41:18 +01:00
Philip Rebohle
77c7396ee1
[spirv] Add support for OpRawAccessChainNV
2024-03-05 14:41:18 +01:00
Philip Rebohle
f07e5f9eaa
[include] Update SPIR-V headers
2024-03-05 14:41:18 +01:00
Philip Rebohle
d5c3011f54
[include] Update Vulkan headers
2024-03-05 14:41:18 +01:00
Blisto91
6b3b934471
[util] Clarify maxDeviceMemory and maxSharedMemory
...
This config often leads to confusion as people expect applications to honor the limit.
2024-03-02 20:41:19 +01:00
Philip Rebohle
9004c132ed
[dxbc] Declare dynamically indexed UBOs with the maximum possible size
...
Fixes #3861 .
2024-02-23 13:39:29 +01:00
Philip Rebohle
24d4c9c938
[util] Disable command lists for Granblue Fantasy Relink
...
The uses deferred contexts for rendering if driver command lists are enabled,
but when AMDAGS is loaded, it will also unconditionally use MultiDrawIndirect
functions. Since the AGS version in use does not support deferred contexts,
this breaks rendering, so we will have to force it into the immediate context
path.
Testing also shows slightly higher performance (~3-5%) with this path in
CPU-bound scenarios.
2024-02-22 16:07:24 +01:00
Philip Rebohle
5ded7d67f0
[d3d11] Implement UpdateSubresource bug if native command lists are disabled
2024-02-22 16:07:24 +01:00
Philip Rebohle
234f3ea071
[d3d11] Add option to hide native command list support
2024-02-22 16:07:24 +01:00
Robin Kertels
c5a37d443a
[d3d9] Handle null IBO when uploading data for draw
2024-02-20 13:04:01 -08:00
Robin Kertels
f254afb4fb
[util] Enable strict float emulation for Red River
2024-02-20 12:58:03 -08:00
Robin Kertels
39c19e9299
[d3d9] End scene on reset
2024-02-20 12:58:03 -08:00
Robin Kertels
738fd4f895
[d3d9] Don't actually unbind buffers
2024-02-20 12:58:03 -08:00
Philip Rebohle
9491b56beb
util: Enable d3d11.ignoreGraphicsBarriers for Granblue Relink
...
Improves GPU-bound performance due to the game using PS UAVs.
2024-02-15 20:33:55 +01:00
Robin Kertels
ab3593185f
[d3d9] Fail GetRTData if src and dst have mismatching sizes
...
MySims tries to do this and needs this to fail,
otherwise mouse picking is off.
2024-02-06 11:02:43 +01:00
Robin Kertels
e9a0fec5b3
[dxso] Clamp Exp when fast float emulation is enabled
2024-02-06 11:02:20 +01:00
Echo J
fae78407a2
d3d9: Remove an unused variable
...
This fixes a gcc warning (originally reported by Saancreed)
2024-02-06 10:19:28 +01:00
Robin Kertels
5312ef1cf9
[d3d9] Upload DYNAMIC+SYSMEM vertex and index data for each draw
2024-02-05 13:13:18 +00:00
Robin Kertels
62d64bd63a
[d3d9] Don't upload buffers before Up draws
2024-02-05 13:13:18 +00:00
Robin Kertels
f83ba898af
[dxvk] Use signed int for vertexOffset
...
BaseVertexIndex is signed in Vulkan, D3D11 & D3D9.
2024-02-05 13:13:18 +00:00
Ethan Lee
30f2b2df31
package-native.sh should force libdisplay-info subproject
...
This ensures that the script produces a build similar to the default steamrt build, even if libdisplay-info is available on the build system root.
2024-02-05 13:08:30 +01:00
Philip Rebohle
05cb963e22
[util] Set sync interval override for P3R
2024-02-02 17:30:13 +01:00
Philip Rebohle
eb339bc7e4
[dxgi,d3d11] Move syncInterval override to DXGI swap chain
...
This way it also applies to D3D12 games.
2024-02-02 17:30:13 +01:00
Ethan Lee
c423819e90
[meson] Only use the libdisplay-info subproject as a fallback
2024-01-30 20:48:40 +01:00
Tatsuyuki Ishi
e2a46a347d
[meta] Declare bool conversion operators as explicit
...
Non-explicit conversion operators in general can participate in very
surprising conversion chains. Explicit bool operator is a good place to
start with, because even with explicit they do get automatic contextual
conversion in a lot of places, e.g., if conditions.
2024-01-27 11:44:51 +01:00
Tatsuyuki Ishi
afc6aa70fb
[d3d11] Explicitly convert DxvkExt to bool in D3D11DeviceFeatures
...
When assigning to a BOOL (which is an uint in disguise) and using explicit
bool conversion operators (introduced in a latter commit) an explicit cast
is required.
2024-01-27 11:44:51 +01:00
Tatsuyuki Ishi
799aeff560
[dxvk] Fix incorrect comparison in DxvkSparsePageTable::updateMapping
...
m_mappings[page] was getting implicitly converted to bool.
2024-01-27 11:44:51 +01:00
Robin Kertels
2ca8fdf890
[util] Disable counting losable resources for Supreme Ruler Ultimate
...
The game is broken and leaks a state block.
2024-01-26 18:11:25 +00:00
Robin Kertels
0841f5faf4
[d3d9] Implement config option to disable rejecting reset
2024-01-26 18:11:25 +00:00
Ethan Lee
2334bbccb0
[native] Add a DECLARE_INTERFACE define for !CONST_VTABLE.
...
This helps avoid some compiler warnings on GCC in particular.
2024-01-26 17:48:44 +00:00
Robin Kertels
7d9864c077
[d3d9] Only enable ATOC when rendering to MS RT
2024-01-26 17:48:21 +00:00
Dean Beeler
d4c5fc74e7
d3d11: Fix crash when srv is submitted to ClearUnorderedAccessViewUint
...
* The Settlers submits (possibly incorrectly) an SRV to ClearUnorderedAccessViewUint. The static_cast in the function does not translate correctly and crashes.
Native D3D11 behavior is to ignore the bad parameter entirely. It does not clear the SRV nor does it fault or even error with the DEBUG validator.
2024-01-23 16:01:12 +01:00
Tatsuyuki Ishi
6199776869
[build] Set filealign for MSVC builds
...
Useful if you want to run a MSVC build on Wine.
2024-01-23 15:45:42 +01:00
Tatsuyuki Ishi
6faf3c1acd
[build] Don't pass unix compiler and link args to MSVC
...
clang-cl accepts both style of options but these will be generally meaningless:
- Static CRT is unnecessary.
- File alignment will be introduced in another commit.
- Wine has partial support for PDB backtrace so there is probably no need to
insist on DWARF (which is unsupported by real MSVC anyway).
- MSVC doesn't have the weird stdcall ordinal naming convention that
necessiates fixup and kill-at.
2024-01-23 15:45:42 +01:00
Tatsuyuki Ishi
ab6bd8b17f
[build] Recognize more MSVC-like compilers as MSVC
...
clang-cl has its own compiler id but supports MSVC argument conventions.
Use get_argument_syntax to recognize MSVC-like compilers generally.
2024-01-23 15:45:42 +01:00
Tatsuyuki Ishi
89267b62ad
[build] Remove declspec UUID annotations
...
MIDL_INTERFACE already implies struct DECLSPEC_UUID.
2024-01-23 15:44:47 +01:00
Blisto91
34d8e65fd7
[util] cachedDynamicBuffers for Codename Panzers Phase One/Two
...
Helps CPU bound performance
2024-01-23 15:44:28 +01:00
Joshua Ashton
1568c263fb
[d3d9] Only add unique modes to mode list
2024-01-19 16:28:22 +00:00
Joshua Ashton
0cd4165658
[d3d9] Add D3DDISPLAYMODEEX operator
2024-01-19 16:28:22 +00:00
Joshua Ashton
4b8e8bed6e
[d3d9] Move operators out of dxvk namespace
2024-01-19 16:28:22 +00:00