Joshua Ashton
b1b1524737
[d3d9] Adapter cleanups
2021-08-08 02:14:11 +00:00
Joshua Ashton
da411c8a48
[d3d9] Move m_lod after m_subresources
2021-08-08 02:14:11 +00:00
Joshua Ashton
4a569918c0
[d3d9] Track NULL state per-subresource
2021-08-08 02:14:11 +00:00
Joshua Ashton
d6bc355782
[d3d9] Fix code-style of D3D9Subresource and inline
2021-08-08 02:14:11 +00:00
Joshua Ashton
f4ce795fe7
[d3d9] Do a little packing of subresource members
2021-08-08 02:14:11 +00:00
Joshua Ashton
d922e261e8
[d3d9] Make D3D9_COMMON_TEXTURE_DESC smaller
2021-08-08 02:14:11 +00:00
Joshua Ashton
3592d7b48f
[d3d9] Return const buffer references in D3D9CommonBuffer
...
Avoids some needless refcounting
2021-08-08 02:14:11 +00:00
Joshua Ashton
fb7035f16a
[d3d9] Remove D3D9CommonBuffer::GetDesc
...
We already have ::Desc()
2021-08-08 02:14:11 +00:00
Joshua Ashton
750639d3b6
[d3d9] Return const view references in D3D9Subresource
2021-08-08 02:14:11 +00:00
Joshua Ashton
3cbac8923f
[d3d9] Return const refs for image/buffers + format mapping in CommonTexture
...
Avoids needless Rc ref counts and copies of that fairly large structure.
2021-08-08 02:14:11 +00:00
Georg Lehmann
23873cbb57
[d3d9] Disable primitive restart
2021-08-08 02:05:27 +00:00
Georg Lehmann
fdc2e2e78f
[d3d9] Fix NEVER alpha testing
2021-08-07 21:54:30 +00:00
Georg Lehmann
be3c248c8b
[d3d9] Don't mark mips as dirty when the texture doesn't have automatic mips
2021-08-07 21:53:34 +00:00
Georg Lehmann
973678e6bf
[d3d9] Only look at the last bit for D3DSAMP_SRGBTEXTURE
2021-08-07 13:09:13 +00:00
Georg Lehmann
a1fbcf35de
[d3d9] Ignore clear with Count == 0 and non-NULL rect
2021-08-06 18:54:17 +00:00
Philip Rebohle
546bd6f462
[dxbc] Fix swizzles in lod instruction
...
Fixes #1764 .
2021-08-05 22:57:58 +02:00
Philip Rebohle
97ef8a6fb3
[dxvk] Remove Win32 fence
...
Replaced with CallbackFence.
2021-08-05 22:57:58 +02:00
Philip Rebohle
56395c9bc8
[d3d11] Re-implement frame latency events using Win32 semaphore
...
Matches native DXGI behaviour more accurately, and fixes a hang in
Shin Megami Tensei 3.
2021-08-05 22:57:58 +02:00
Philip Rebohle
4c222ec557
[d3d11] Use callback fence to signal Flush1 event
2021-08-05 22:57:58 +02:00
Philip Rebohle
893da94fb3
[util] Introduce CallbackFence
2021-08-05 22:57:58 +02:00
Georg Lehmann
5844315853
[dxso] Implement DxsoOpcode::Sgn
2021-08-05 20:55:54 +00:00
Georg Lehmann
c5ab87f353
[spirv] Add opFSign
2021-08-05 20:55:54 +00:00
Paul Gofman
52fac82a45
[dxvk] Also initialize view formats when creating DxvkImage for existing VkImage.
2021-08-03 00:47:33 +02:00
Robin Kertels
7873bebaf2
[d3d9] Only check range overlap if the buffer is not directly mapped
2021-07-28 16:57:02 +00:00
Philip Rebohle
d10e1ed3c0
[meta] Release 1.9.1
2021-07-26 15:45:33 +02:00
Joshua Ashton
b8a4b85c48
[d3d9] Fix clearing render targets on device reset
2021-07-26 14:35:48 +02:00
Georg Lehmann
a9c185d01a
[build] Enable strict dwarf2 debug symbols for Wine back traces
2021-07-25 18:18:14 +02:00
Robin Kertels
b4e6f81cb5
[d3d9] Respect aligned pitch when using initial data
2021-07-24 19:41:59 +00:00
Robin Lange
a58feaa16e
[build] Disable shallow cloning in GitHub actions
...
This fixes the HUD not showing the full DXVK version when using builds from GitHub actions.
Explanation:
By default, the "checkout" step only clones the repository with a depth of 1. This causes `git describe` to fail in Meson, causing it to fall back to the project version number instead.
2021-07-23 14:13:54 +00:00
Robin Kertels
6ba3d2f9d4
[d3d9] Set correct usage flags for large temporary staging buffers
2021-07-23 13:36:21 +00:00
Robin Kertels
fa279eb8ad
[d3d9] Ignore NO_DIRTY_UPDATE for POOL_DEFAULT resources
...
Respecting it breaks Senren Banka because we never upload the texture.
2021-07-23 13:36:21 +00:00
Robin Kertels
584e1515b1
[d3d9] Fix pitch when copying straight from mapping buffer
2021-07-23 13:36:21 +00:00
Robin Kertels
34101dcf26
[d3d9] Fix UpdateTexture extent
...
Same as 5f1629f2cb
2021-07-23 13:36:21 +00:00
Robin Kertels
5037e49646
[util] Merge GTA IV configs
...
The app config system can not handle more than one entry
per exe name, so the enableUMA one disabled the NVAPI
workaround.
2021-07-21 15:08:23 +02:00
Philip Rebohle
11bbc07ea1
[dxvk] Support destination pitch in packImageData
2021-07-19 16:54:56 +02:00
Joshua Ashton
d3112c320b
[d3d9] Add dirty texture tracking
...
Reduces overhead from re-binding and unnecessary binding (srgb changes) in L4D2.
I go from about 750 -> 850-900 fps in c1m2_streets with this change.
2021-07-14 20:38:49 +00:00
Robin Kertels
8eeff90e0a
[d3d9] Only use staging buffers for uploads once we've stalled on the resource
2021-07-14 19:26:25 +00:00
Robin Kertels
b83261b759
[d3d9] Adjust waiting in LockBuffer to staging buffer upload
...
Now that we're uploading using a staging buffer,
we don't need to wait for non default buffers.
We should also respect READONLY for WRITEONLY buffers
(yes, it sounds dumb) because Nostale relies on that.
2021-07-14 19:26:25 +00:00
Robin Kertels
ed24c17d53
[d3d9] Validate srcRect and dstPoint in UpdateSurface
2021-07-14 18:33:38 +00:00
Georg Lehmann
b3b2f0921c
[d3d9] Never init pSharedHandle.
...
This parameter has three different meanings if it's non NULL:
- if Pool is D3DPOOL_SYSTEMMEM it's a host pointer for inital data
- if it points to a nullptr it's a output handle
- if it's a pointer to non NULL pointer it's an import handle
2021-07-14 15:29:46 +00:00
Robin Kertels
5f1629f2cb
[d3d9] Fix FlushImage extent for smaller mip maps
2021-07-10 16:23:56 +00:00
Robin Kertels
9f0775b1ac
[d3d9] Always use cached memory for texture mapping buffers
...
We read from that memory when uploading the texture.
Fixes performance in Oblivion.
2021-07-08 21:42:12 +00:00
Joshua Ashton
c7f8267f98
[d3d9] Fix NV12 conversion
...
Froggy is the right color now
2021-07-08 22:36:59 -07:00
Joshua Ashton
ad524a4a52
[tests] Add d3d9_bc_update_surface test
2021-07-08 22:24:44 -07:00
Philip Rebohle
e23792ef91
[d3d11] Fix handling sRGB UAV images
2021-07-07 16:00:12 +02:00
Joshie
f9034007ac
[util] Fix indexing of non-float vectors
2021-07-05 18:58:55 +02:00
Connor Abbott
9579132942
[d3d9] Remove extra spaces in def file
...
wrc is pickier about this than windres and refuses to accept it.
2021-07-03 14:28:28 +02:00
Connor Abbott
aae0e57a46
Don't add def file as an object
...
This is unnecessary even on mingw, and leads to duplicating the .def
file on the linking command line which winegcc complains about.
2021-07-03 14:28:28 +02:00
Connor Abbott
2988875e93
[dxgi] Call QueryPerformanceCounter directly
...
dxvk::high_resolution_clock is meant to be a wrapper around the C++ time
library, and getCounter() is (AFAIK) an internal thing so calling it
directly is odd. On winelib this redirects to the host's implementation,
which means this fails to compile. Since this is a Windows API and not
for internal usage just call the Windows API function directly.
2021-07-03 14:28:28 +02:00
Connor Abbott
b9135ca0cd
Do not try to load libraries natively under __WINE__
...
This was only half-implemented (e.g. OpenXR was still calling
GetModuleHandle), broke compilation with Vulkan due to mismatched ABI,
and wouldn't have worked anyways with winelib builds because we still
need access to wine's implementation of the Vulkan win32 winsys
integration. Perhaps this is still useful for dxvk-native but if so it
should be re-added under a DXVK_NATIVE flag.
2021-07-03 14:28:28 +02:00