Philip Rebohle
10eabb34da
[dxvk] Add shader stage parameter to binding methods
2022-06-28 14:32:30 +02:00
Philip Rebohle
3751edbe0c
[dxvk] Introduce DxvkBindingLayout and related classes
...
This is intended to replace the legacy DxvkPipelineLayout, and can support
multiple descriptor sets.
2022-06-28 14:32:30 +02:00
Philip Rebohle
67d03aabd0
[dxvk] Make recycler a ring buffer
...
Ensures that recycled objects actually get reused soon. Somewhat
important for memory efficiency in descriptor pools.
2022-06-28 14:32:30 +02:00
Philip Rebohle
384a665700
[dxvk] Optimize util::pipelineStages
2022-06-28 14:31:52 +02:00
Justin Kim
972de7c9fb
converting flags from VkShaderStageFlags to VkPipelineStageFlags in commitGraphicsBarriers ( #2696 )
2022-06-28 13:09:14 +02:00
Federico Dossena
dee36be20d
Added config for A Way Out ( #2694 )
2022-06-25 11:17:42 +02:00
pchome
27163a6a29
[util] Fix built-in config options loging
2022-06-22 18:21:31 +02:00
Blisto91
661f8b5b56
[util] Add Forged Alliance Forever to Supreme Commander
2022-06-20 11:59:40 +01:00
Robin Kertels
bd29fbd95d
[util] Enable sampler type spec constants for SWTOR
...
Co-authored-by: Blisto91 <47954800+Blisto91@users.noreply.github.com>
2022-06-13 21:34:28 +01:00
Blisto91
968f0cdbc3
[util] Strict float emulation for Supreme Commander
2022-06-12 20:16:56 +01:00
Robin Kertels
4f56e72d56
[util] Enable strict float emulation for Sonic Adventure 2
2022-06-11 01:31:48 +02:00
Georg Lehmann
2e4caa4c14
[util] Stop using deprecated std::iterator.
2022-06-09 22:07:52 +02:00
Philip Rebohle
9e5c61bf88
[dxvk] Create state cache threads on demand
2022-06-07 11:46:06 +02:00
Andrew Eikum
279b4b7ec2
[d3d9] Defer surface creation if no HWND is given to device
...
Planetary Annihilation: TITANS creates a device with a NULL HWND and
requires it to succeed.
2022-06-03 13:07:43 +00:00
Philip Rebohle
c596738205
[hud] Fix incorrect array length for VS resources
2022-06-02 19:57:22 +02:00
Blisto91
1862e4dc8d
[util] Report Nvidia VendorId for Myst V
...
Game was made before ATI Technologies was bought by AMD and so doesn't recognize AMD as a GPU vendor, which for some reason makes it bug out.
It also works when it sees the word "Radeon" in the device description, which is why this issue doesn't show on amdvlk or wined3d.
2022-06-02 15:11:17 +02:00
Mike Lothian
de0f81fcdc
[spirv] Add utility include
...
This fixes a compile issue with GCC 12.1
FAILED: src/spirv/libspirv.a.p/spirv_compression.cpp.obj
i686-w64-mingw32-g++ -Isrc/spirv/libspirv.a.p -Isrc/spirv -I../dxvk-9999/src/spirv -I../dxvk-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O0 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -Wimplicit-fallthrough -O3 -march=native -pipe -flto=16 -mno-avx -MD -MQ src/spirv/libspirv.a.p/spirv_compression.cpp.obj -MF src/spirv/libspirv.a.p/spirv_compression.cpp.obj.d -o src/spirv/libspirv.a.p/spirv_compression.cpp.obj -c ../dxvk-9999/src/spirv/spirv_compression.cpp
In file included from ../dxvk-9999/src/spirv/../util/util_flags.h:5,
from ../dxvk-9999/src/spirv/spirv_include.h:7,
from ../dxvk-9999/src/spirv/spirv_instruction.h:6,
from ../dxvk-9999/src/spirv/spirv_code_buffer.h:8,
from ../dxvk-9999/src/spirv/spirv_compression.h:5,
from ../dxvk-9999/src/spirv/spirv_compression.cpp:1:
../dxvk-9999/src/spirv/../util/util_bit.h:300:33: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
300 | class iterator: public std::iterator<std::input_iterator_tag,
| ^~~~~~~~
In file included from /usr/lib/gcc/i686-w64-mingw32/12.1.0/include/g++-v12/bits/stl_algobase.h:65,
from /usr/lib/gcc/i686-w64-mingw32/12.1.0/include/g++-v12/vector:60,
from ../dxvk-9999/src/spirv/spirv_compression.h:3:
/usr/lib/gcc/i686-w64-mingw32/12.1.0/include/g++-v12/bits/stl_iterator_base_types.h:127:34: note: declared here
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
../dxvk-9999/src/spirv/spirv_code_buffer.h: In member function ‘size_t dxvk::SpirvCodeBuffer::endInsertion()’:
../dxvk-9999/src/spirv/spirv_code_buffer.h:214:19: error: ‘exchange’ is not a member of ‘std’
214 | return std::exchange(m_ptr, m_code.size());
| ^~~~~~~~
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
2022-06-02 15:10:53 +02:00
Philip Rebohle
5d0273f520
[dxvk] Remove interpolation decorations for replaced shader inputs
2022-06-01 14:11:09 +02:00
Philip Rebohle
6d3ba1b7d7
[dxvk] Perform validation on render pass formats read from state cache
2022-06-01 14:11:09 +02:00
Philip Rebohle
80e125a130
[dxvk] Perform more extensive validation on pipeline state vectors
2022-06-01 14:11:06 +02:00
Blisto91
4ff7687dea
[util] Force SM1 for the Halo CE SPV3 launcher
2022-05-31 15:45:23 +02:00
Robin Kertels
7bcf3e1062
[util] Force SM1 for the Warhammer ROR Launcher ( #2579 )
...
Co-authored-by: Philip Rebohle <25567304+doitsujin@users.noreply.github.com>
2022-05-31 15:19:30 +02:00
Winter Snowfall
8c96830752
Add d3d9.deferSurfaceCreation workaround for Scrapland (Remastered) ( #2574 )
2022-05-31 15:17:31 +02:00
noneistaken
93eb86aa3e
Blend HUD text shadow and center correctly
...
This fixes incorrect blending between HUD text, which would cause a narrow transparent gap between the text center and border/shadow that is visible at large text sizes.
2022-05-30 18:23:19 +02:00
Zhiyi Zhang
8147844aef
[dxgi] Return DXGI_ERROR_INVALID_CALL for invalid IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent() parameters
...
According to wine tests 14237e321b
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-05-25 18:44:20 +02:00
WinterSnowfall
51e56c0420
[util] Enforce a maxAvailableMemory limit for Majesty 2
2022-05-23 07:54:37 +00:00
Paul Gofman
cc11bb8240
[d3d9] Don't adjust window position and size in windowed mode.
2022-05-23 07:53:13 +00:00
Paul Gofman
cde0fbe7b0
[util] Enable d3d9.deferSurfaceCreation for Small Radios Big Televisions
2022-05-19 02:51:41 +00:00
Joshua Ashton
5b7406fed5
[d3d9] Fix crash when using StretchRect with NULL rts
2022-05-10 02:02:35 +01:00
Philip Rebohle
6ddd0cfe0a
[d3d11] Do not add UINT formats to all UAV format lists
...
Analogous to vkd3d-proton changes. Allows drivers to use compression more
frequently.
2022-04-25 17:37:10 +02:00
Philip Rebohle
a85f7c48a5
[d3d11] Make ClearUnorderedAccessViewUINT fallback more generic
2022-04-25 17:34:45 +02:00
Philip Rebohle
304d0549d5
[dxbc] Implement range check for private array reads
...
We already do this for stores.
2022-04-21 18:06:41 +02:00
Robin Kertels
3004026db8
[d3d9] Only bind RT if we actually write to it
...
The alternative render path for shadow maps in Dead Space relies on this.
2022-04-20 00:58:17 +01:00
Robin Kertels
bdafa16e39
[d3d9] Only bind depth buffer if the depth or stencil test is enabled
2022-04-20 00:58:17 +01:00
Joshua Ashton
d6cbd99141
[util] Add missing include to thread.h
2022-04-19 18:14:58 +01:00
Joshua Ashton
08e2ec6c98
[util] Implement env helpers on non-Windows platforms
2022-04-19 17:08:17 +01:00
Joshua Ashton
147f3738f9
[d3d9] Use strlcpy helper
2022-04-19 17:08:17 +01:00
Joshua Ashton
dc6b7fa4a7
[util] Add strlcpy helper
...
strncpy is not safe.
2022-04-19 17:08:17 +01:00
Joshua Ashton
9ee0f51870
[util] Implement thread helpers on non-Windows platforms
2022-04-19 17:08:06 +01:00
Robin Kertels
9302d33ac7
[d3d9+util] Enable invariant position by default
2022-04-18 12:40:46 +01:00
Philip Rebohle
35e8f4676b
[dxvk] Remove old shader creation code
2022-04-18 13:20:16 +02:00
Philip Rebohle
a731f5daae
[d3d11] Use new DxvkShader constructor for video shaders
2022-04-18 13:20:16 +02:00
Philip Rebohle
69817a84dc
[d3d11] Use new DxvkShaderCreateInfo struct to retrieve shader info
2022-04-18 13:20:16 +02:00
Philip Rebohle
427f51eda7
[d3d9] Use new DxvkShader constructor for format conversion
2022-04-18 13:20:16 +02:00
Philip Rebohle
98ec79f6fa
[d3d9] Use new DxvkShader constructor for SWVP emulation
2022-04-18 13:20:16 +02:00
Philip Rebohle
ab95b61e44
[d3d9] Use new DxvkShader constructor for fixed-function shaders
2022-04-18 13:20:16 +02:00
Philip Rebohle
10bab0c182
[dxso] Use new DxvkShader constructor
2022-04-18 13:20:16 +02:00
Philip Rebohle
8993560cde
[dxbc] Use new DxvkShader constructor
2022-04-18 13:20:16 +02:00
Philip Rebohle
81d88a484d
[dxvk] Use new DxvkShader constructor for HUD shaders
2022-04-18 13:20:16 +02:00
Philip Rebohle
62e706a6bb
[dxvk] Use new DxvkShader constructor for swap chain shaders
2022-04-18 13:20:16 +02:00
Philip Rebohle
d0b52f3ac5
[dxvk] Use new DxvkShaderCreateInfo struct to retrieve shader info
2022-04-18 13:20:16 +02:00
Philip Rebohle
b0db58f098
[dxvk] Introduce new way to create DxvkShader objects
2022-04-18 13:20:16 +02:00
Philip Rebohle
736f743ae4
[spirv] Implement faster in-memory compression for shaders
...
Seems to be anything up to 3x as fast to decode than the previous code,
with the compression ratio being slightly worse. Encoding seems faster
as well.
2022-04-11 02:55:12 +02:00
Blisto91
3672375bc1
[util] Use cached constant buffers for Armored Warfare
2022-04-09 15:19:49 +02:00
Robin Kertels
42c66c410e
[d3d9] Calculate slice alignment when uploading straight from the mapping buffer
2022-04-06 18:52:58 +00:00
Paul Gofman
957a305ca8
[d3d9] Ignore multiple app activation window messages.
2022-04-06 18:51:50 +00:00
Paul Gofman
b0ed9e30ce
[d3d9] Filter window messages when processing WM_ACTIVATEAPP.
2022-04-06 18:51:50 +00:00
Robin Kertels
ce87bec412
[util] Force sampler type spec const for Star Wars TFU2
...
The game tries to binda 2D texture to a slot that is declared
as a 3D texture in the shader. This causes one particle effect
to be completely black because DXVK does not bind the texture
2022-04-05 22:37:04 +00:00
Philip Rebohle
95a3413949
[util] Fix typo in app profiles
...
Accidentally broke everything.
2022-03-31 18:01:52 +02:00
Philip Rebohle
e07157fe72
[d3d11] Only apply anisotropy override to linear samplers
...
Mirrors D3D9, more or less.
2022-03-30 14:37:33 +02:00
Philip Rebohle
e7e7fa231c
[dxvk] GPU query reset path
...
Require VK_EXT_host_query_reset instead. This fallback path is
untested nowadays and too slow to be useful.
2022-03-30 13:32:18 +02:00
Georg Lehmann
f0ccd8fe2e
[util] Limit Limbo to 60 fps
...
Fixes : #2564
2022-03-28 21:39:28 +02:00
Derek Lesho
d11f0ac77b
[d3d11] Always export correct shared handle type from ::GetSharedHandle and ::CreateSharedHandle
...
Before we just assumed that the calls here would match the corresponding flag value (D3D11_RESOURCE_MISC_SHARED -> ::GetSharedHandle, D3D11_RESOURCE_MISC_SHARED_NTHANDLE -> ::CreateSharedHandle), but it turns out that its possible to set both flags and use both methods. Now we always tell Vulkan to export a KMT handle if D3D11_RESOURCE_MISC_SHARED is present, and use openKmtHandle to get an NT handle when needed.
2022-03-28 21:38:42 +02:00
Philip Rebohle
1c3736da8c
[dxvk] Filter out unnecessary access flags when recording barriers
...
Rationale is as follows:
- srcAccess never needs to contain read flags, since any memory being
read must have been made visible before by a write operation
- dstAccess is only relevant if srcAccess contains a write, because
reads alone cannot modify memory and thus do not require making the
same memory available again. An exception are layout transitions.
Doesn't really change performance in anything as far as I can tell, but
we avoid some unnecessary UBO cache flushes in compute-heavy scenarios.
2022-03-28 10:45:29 +02:00
Philip Rebohle
ebdaf90fdc
[util] Enable d3d9.deferSurfaceCreation for Atelier Sophie 2
...
2022 and K-T are still using D3D9 for video stuff.
2022-03-28 04:37:02 +02:00
Philip Rebohle
a72463c5af
[meta] Release 1.10.1
2022-03-26 12:44:25 +01:00
Philip Rebohle
b4efaa4ef0
[util] Enable cached constant buffers for Frostpunk
...
Massively improves CPU-bound performance.
2022-03-26 12:44:25 +01:00
Robin Kertels
4e34c29c56
[d3d9] Disable culling when the app passes an invalid value
2022-03-25 17:13:12 +01:00
Philip Rebohle
991a11617a
[util] Enable d3d9.deferSurfaceCreation for Stranger of Paradise FFO
...
Reportedly required for VRR to work. Game still doesn't work here.
2022-03-25 16:36:17 +01:00
Philip Rebohle
0db26a0456
[dxbc] Actually do the skip range check thing properly
...
Turns out the first attempt only worked because my test case didn't
do any dynamically indexed stores at all, but broke everything else.
Oops.
2022-03-24 12:53:29 +01:00
Philip Rebohle
3ecd13cec2
[dxbc] Only emit temp array range check for dynamically indexed stores
...
Generates less code and makes things slightly more readable.
2022-03-24 12:47:40 +01:00
Philip Rebohle
c590736fec
[dxbc] Generate smallest possible vectors for local arrays
...
FXC is buggy and always emits vec4 in the array declaration,
so we'll have to analyze the used components ourselves.
2022-03-24 12:47:40 +01:00
Robin Kertels
b2f22d5719
[d3d9] UpdateTexture: Handle automatic mip gen properly
2022-03-24 02:31:42 +00:00
Philip Rebohle
119c1ececb
[util] Set frame latency to 1 for God of War
...
Frame pacing is horrible otherwise, as of the 1.0.9 update.
2022-03-24 03:05:29 +01:00
Philip Rebohle
6b8e8afd5b
[dxvk] Zero-initialize newly allocated buffer slices on creation
...
Fixes random flicker in God of War. Since patch 1.0.9, the game's lighting
system relies on MAP_DISCARD returning a zero-initialized memory slices for
its constant buffers, or some lights would get skipped in various compute
passes. Changing the memset to e.g. write 0xFF instead of 0 shows this issue.
2022-03-24 02:46:25 +01:00
Philip Rebohle
e440fa26ab
[dxbc] Handle fallthrough around default properly
2022-03-23 15:32:45 +01:00
Philip Rebohle
8823e4bb3d
[dxgi] Work around swapchain use-after-free bugs
...
Affects Divinity: Original Sin Enhanced Edition. Requires Wine hack to
delay memory deallocation to not crash during resolution changes.
2022-03-23 15:09:39 +01:00
Philip Rebohle
586948df1e
[d3d11] Get strong reference to swap chain in swap chain back buffers
2022-03-22 19:48:13 +01:00
Philip Rebohle
42edb62df8
[d3d11] Use smart pointer for swap chain back buffer
2022-03-22 19:28:49 +01:00
Philip Rebohle
b015cf0bb2
[dxbc] Support switch-case fallthrough
...
Apparently this is a thing in Shader Model 4, although FXC cannot emit it.
2022-03-22 17:32:43 +01:00
Philip Rebohle
0d54f7161c
[util] Enable cached dynamic resources for AC3 and AC4
...
Without it, AC3 chugs along at 40 FPS on my 5950X.
2022-03-19 20:12:20 +01:00
Oleg Kuznetsov
b36ca2c758
[d3d9] Fix Visual Studio build to resolve 'operator !=' is ambiguous error for RECT
2022-03-17 11:35:19 +01:00
Oleg Kuznetsov
5156994440
[dxvk] Add a config option to enable debug utils in addition to DXVK_PERF_EVENTS=1
2022-03-17 11:35:19 +01:00
Joshua Ashton
cf1cee04b8
[d3d11] Register annotation interfaces with D3D9
...
Some apps try use the D3DPERF_ functions for debug markers/annotations.
This utilizes the DXVK_RegisterAnnotation hidden functions to share the interfaces.
Co-authored-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2022-03-17 11:35:19 +01:00
Joshua Ashton
937a60c882
[d3d9] Add hidden exports for registering annotations
...
Adds DXVK_RegisterAnnotation at ordinal 28257 and DXVK_UnRegisterAnnotation at ordinal 28258.
2022-03-17 11:35:19 +01:00
Joshua Ashton
787a979514
[d3d9] Implement D3D9UserDefinedAnnotation
2022-03-17 11:35:19 +01:00
Joshua Ashton
47b1ab52ce
[d3d9] Implement D3D9GlobalAnnotationList
2022-03-17 11:35:19 +01:00
Joshua Ashton
5d54d79865
[d3d11] Use IDXVKUserDefinedAnnotation
2022-03-17 11:35:19 +01:00
Joshua Ashton
a010397f34
[util] Move DecodeD3DColor to util
...
This will be used in the D3D11UserDefinedAnnotation implementation to handle PIX calls which contain a color.
2022-03-17 11:35:19 +01:00
Joshua Ashton
d5d5c1a8bc
[dxvk] Define IDXVKUserDefinedAnnotation
...
Something common to share for perf markers between D3D9 and D3D11.
Inherits from the public D3D11 interface.
2022-03-17 11:35:19 +01:00
Joshua Ashton
0bc972697b
[d3d11] Fix D3D11UserDefinedAnnotation declaration
...
Mark it as final too.
2022-03-17 11:35:19 +01:00
Georg Lehmann
2550cff149
[build] Cleanup build system.
...
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Georg Lehmann
f1efc9dc9f
[dxso] Emit spirv OpCross if we can.
2022-03-16 19:13:09 +00:00
Georg Lehmann
630fee59fc
[dxso] Implement zerowins for Lerp.
...
Fixes #2545 .
2022-03-16 19:13:09 +00:00
Joshua Ashton
1f88ee595f
[d3d9] Don't expose D32 format
...
Not supported anywhere except REF device it seems... *sigh*
Supercedes: #2547
2022-03-16 19:11:16 +00:00
Philip Rebohle
4f8da62c34
[dxvk] Fix color write mask normalization
...
Previously we'd set too many bits by accident here. Also, we should
not modify partial write masks to include unnecessary bits. Only do
this if we can actually promote to a full write mask for consistency.
2022-03-16 19:31:37 +01:00
Liam Middlebrook
f92c6ae859
[dxgi] Add DXVK_ENABLE_NVAPI envvar
...
Add a new environment variable DXVK_ENABLE_NVAPI as an environment-level
override for 'nvapiHack'. This will allow for DLSS (and other
NvAPI-backed features) to be available without the user manually writing
a configuration file, allowing for more seamless integration with
Proton's launch script.
2022-03-16 13:06:25 +01:00
Robin Kertels
115385d1d9
[d3d9] Update buffer seq number in FlushBuffer
...
How did I miss this?!
2022-03-15 01:24:54 +00:00
Robin Kertels
5f4fc56226
[d3d9] Update texture sequence number AFTER using it
2022-03-13 17:13:00 +00:00
Robin Kertels
a6357a254d
[d3d9] Fix CS thread synchronization for directly mapped buffers
2022-03-13 17:13:00 +00:00
Philip Rebohle
9eb2393d44
[dxvk] Normalize color write masks for non-RGBA formats
2022-03-13 16:24:53 +01:00
Philip Rebohle
4c429f044f
[util] Add another weeb game to the list of workarounds
...
Sophie is apparently D3D9 an we already have Lydie and Suelle in there,
so it's just this on missing from that series.
2022-03-13 05:38:06 +01:00
Philip Rebohle
caa83247d9
[d3d9] Mark backend image as shared for shared resources
...
Otherwise, the backend may not transition the image to the correct
layout after each submission.
2022-03-13 02:32:56 +01:00
Robin Kertels
bd1a2aa5a1
[dxvk] Force dedicated allocation for exportable images
...
The Nvidia driver does not set prefers-/requiresDedicatedAllocation
for exportable images on its own.
This makes DXVK ignore the dedicated allocation struct ptr
which also contains VkExportMemoryAllocateInfo or
VkImportMemoryWin32HandleInfoKHR.
2022-03-13 00:43:41 +01:00
Philip Rebohle
59e3c96976
[d3d9] Fix texture formats that can be exported
2022-03-12 22:24:05 +01:00
Derek Lesho
1d1d8adee6
[d3d9] Fix shared handle check for exporting images
...
Co-authored-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-03-12 21:35:42 +01:00
Philip Rebohle
c87660480d
[d3d11] Reimplement R11G11B10 UAV clears without R32 views
2022-03-12 16:23:42 +01:00
Philip Rebohle
ee28f145dc
[d3d11] Explicitly handle R32-compatible UAV formats
2022-03-12 16:23:39 +01:00
Derek Lesho
6640cc350c
[d3d9] Add support for shared IDirect3DTexture9 resources.
2022-03-12 16:23:06 +01:00
Derek Lesho
48046e009c
[d3d11] Add support for shared ID3D11Texture2D resources.
2022-03-12 16:23:06 +01:00
Derek Lesho
f9d94c82a5
[util] Add helpers for shared resource metadata access.
2022-03-12 16:23:06 +01:00
Derek Lesho
02d3e0d31f
[dxvk] Add shared handle access to DxvkImage memory.
...
Based off preliminary work from Josh.
2022-03-12 16:23:06 +01:00
Derek Lesho
b5014401e7
[dxvk] Enable VK_KHR_EXTERNAL_MEMORY_WIN32 if available.
2022-03-12 16:23:03 +01:00
Philip Rebohle
5d4c8a6b51
[dxso] Fix ExpP instruction on Shader Model 2+
2022-03-11 22:44:18 +00:00
Joshua Ashton
7151fbd598
[dxvk] Use new [[fallthrough]] attribute
2022-03-10 00:47:38 +01:00
Joshua Ashton
b96f65be31
[dxbc] Use new [[fallthrough]] attribute
2022-03-10 00:47:38 +01:00
Joshua Ashton
63bd41f785
[d3d11] Add fallthrough comment to PickFormats
...
Silences a warning
2022-03-10 00:47:38 +01:00
Joshua Ashton
dc6c350cf2
[d3d9] Add fallthrough comment to SetRenderState
...
Silences a warning
2022-03-10 00:47:38 +01:00
Joshua Ashton
f4ab14cafa
[dxso] Fix potential fallthrough in RasterizerOut
2022-03-10 00:47:38 +01:00
Joshua Ashton
a5b0f2898a
[dxso] Fix ExpP fallthrough
2022-03-10 00:47:38 +01:00
Joshua Ashton
b2d96ee087
[d3d9] Fix fallthroughs in PickFormats
2022-03-10 00:47:38 +01:00
Joshua Ashton
53b9a723ac
[d3d9] Set initial dirty state flags
...
We had a bug where initial state values caused the data to not get sent to the backend.
Let's fix that going forward and dirty everything we possibly can on device creation.
2022-03-09 23:33:12 +00:00
Joshua Ashton
d4d4f0ca18
[d3d9] Fix default initialization of some state values
...
If we end up being the same as what we are, we don't dirty initially.
2022-03-09 23:33:08 +00:00
Philip Rebohle
89b1f025eb
[d3d10] Forward OpenSharedResource to D3D11 implementation
...
Trivial since the requested IID is passed by the application.
2022-03-04 19:13:30 +01:00
Philip Rebohle
23eead9e99
[meta] Release 1.10
2022-03-04 17:15:51 +01:00
Oschowa
bb178baaf1
[util] Enable cached vertex and index buffers for The Evil Within
...
Large performance win.
2022-03-04 02:19:17 +01:00
Philip Rebohle
f14bccc8c3
[util] Use CPU-cached constant buffers for Anno 1800
...
Sigh.
2022-03-03 17:33:14 +01:00
Philip Rebohle
1b196c24a4
[dxvk] Invalidate buffer in clearBuffer if possible
2022-03-01 21:39:35 +01:00
Philip Rebohle
5822a8de9f
[util] Enable cached vertex and index buffers for FFXIV
...
Fixes some weird performance issues on the Garlemald map. Doesn't seem
to affect performance in other areas.
2022-02-28 23:33:27 +01:00
Philip Rebohle
2bceeff5f2
[d3d11] Replace apitrace mode option with something more granular
...
And enable it only for vertex and index buffers in Nier Replicant.
2022-02-28 22:44:10 +01:00
Robin Kertels
b42c07253e
[d3d9] Fix sysmem readback
2022-02-24 07:49:55 +00:00
Robin Kertels
a81c653b42
[d3d9] Fix synchronization after readback
2022-02-22 21:49:28 +00:00
Philip Rebohle
a37cd46491
[util] Set maxDynamicImageBufferSize for Total War: Warhammer III
...
Massively increases performance since the game otherwise keeps
uploading a huge 48 MiB texture in every frame.
2022-02-22 05:48:25 +01:00
Philip Rebohle
dbd4dad095
[d3d11] Introduce d3d11.maxDynamicImageBufferSize option
2022-02-22 05:31:27 +01:00
Philip Rebohle
33cf522647
[d3d11] Use appropriate memory types for directly mapped images
2022-02-22 05:31:20 +01:00
Philip Rebohle
177e70949c
[d3d11] Apply apitrace mode to image upload buffers
2022-02-22 01:30:43 +01:00
Robin Kertels
29d8812709
[d3d9] Don't set NeedsReadback for POOL_SYSMEM textures
...
... or in SetRenderTarget because we always do readback for render targets.
2022-02-21 13:43:04 +00:00
Robin Kertels
b163a99bde
[d3d9] Clean up texture locking
...
We had two code paths that largely did the same.
2022-02-21 00:08:41 +00:00
Robin Kertels
dde83717f1
[d3d9] Rename WrittenByGPU to NeedsReadback
2022-02-21 00:08:41 +00:00
Robin Kertels
40444c1f50
[d3d9] Unify texture uploads
2022-02-21 00:08:41 +00:00
Robin Kertels
8b9db26536
[util] Add computeMipLevelOffset
2022-02-21 00:08:41 +00:00
Philip Rebohle
49e5357a87
[hud] Greatly simplify frame time graph rendering
2022-02-20 15:58:29 +01:00
Philip Rebohle
0709c5f5c7
[hud] Greatly simplify text rendering in the HUD
2022-02-20 15:58:29 +01:00
Philip Rebohle
8ce83cabca
[dxvk] Only mark transfer buffers as transient
...
Otherwise we may accidentally catch things like uniform buffers as well.
2022-02-20 15:58:26 +01:00
Robin Kertels
fd23dcef64
[d3d9] Disable direct buffer mapping for RE games
2022-02-20 03:30:03 +00:00
Robin Kertels
cf4c5c3422
[d3d9] Add option to disable direct buffer mapping
2022-02-20 03:30:03 +00:00
Robin Kertels
6d71eea516
[d3d9] Store buffer map mode in D3D9CommonBuffer
2022-02-20 03:30:03 +00:00
Robin Kertels
97ae14b6a0
[d3d9] Synchronize only to given sequence number in WaitForResources
2022-02-20 03:29:31 +00:00
Robin Kertels
917a8d00a2
[d3d9] Track last staging resource usage with a sequence number
2022-02-20 03:29:31 +00:00
Robin Kertels
c12cd1952c
[d3d9] Handle different mip chain lengths in UpdateTexture
2022-02-20 03:29:04 +00:00