Joshua Ashton
f0c1e89443
[d3d9] Handle zero-sized draws
...
These return S_OK, because ofc they do.
2021-05-05 19:25:46 +01:00
Joshua Ashton
0f52c85d21
[d3d9] Account for vertex declaration size for UP draws
...
The stride may not give us the full picture here as the stride
may not encompass the vertex declaration entirely.
Consider a vertex declaration of size 20, and a stride of 12,
we may not have covered the whole range of space the draw wants with
VertexCount * Stride.
Some games such as FF13 Lightning Returns have two float3s in the vertex decl
and draw two triangles with the last float being out of bounds. This causes
the whole vertex element to be set to 0 on NVIDIA which breaks their fullscreen passes.
Instead, take (VertexCount - 1) * Stride + VertexDeclSize for the buffer size
and pad with 0s outside of the VertexCount * Stride range.
Closes : #2046
Closes : #1908
2021-05-05 19:25:46 +01:00
Joshua Ashton
1ab2565521
[tests] Add a UP range test
2021-05-05 19:25:46 +01:00
Joshua Ashton
4a4b96611d
[d3d9] Only log WaitForVBlank stub once
2021-04-30 19:33:24 +01:00
Joshua Ashton
a980282ebe
[util] Increase constants for TrackMania Forever
...
Bump this to 256.
Fixes rendering issues.
Closes : #1910
2021-04-30 18:51:09 +01:00
Joshua Ashton
54d3ad1295
[util] Enable d3d9.memoryTrackTest for Kohan II
...
Closes : #2030
2021-04-30 18:49:39 +01:00
Robin Kertels
525fd53bbc
[d3d9] Fix FlushBuffer
...
Use stored mapped slice and use correct dst offset.
2021-04-23 18:06:29 +01:00
Robin Kertels
da23771df4
[d3d9] Remove unused variable
2021-04-23 18:06:29 +01:00
Robin Kertels
13f53531e5
[d3d9] Fix offset in UpdateSurface
2021-04-22 20:18:50 +01:00
Robin Kertels
0bc8b0b33a
[d3d9] Align pitch to 4
2021-04-22 17:44:58 +01:00
Robin Kertels
2ba433bbd8
[d3d9+util] Remove option to disable implicit discard
2021-04-22 17:44:58 +01:00
Robin Kertels
03f5893011
[d3d9] Remove implicit discard
2021-04-22 17:44:58 +01:00
Robin Kertels
b9512a4063
[d3d9] Only copy dirty parts of managed/sysmem resources
2021-04-22 17:44:58 +01:00
Robin Kertels
4261ff6ec1
[d3d9] Use staging buffer for managed copies
2021-04-22 17:44:58 +01:00
Robin Kertels
bb11d7dee8
[d3d9] Refactor AllocUpBuffer so it can be used for managed uploads
2021-04-22 17:44:58 +01:00
Robin Kertels
8cc0c9a0f1
[d3d9] Clamp dirty buffer range
...
And always maintain dirty range.
2021-04-22 17:44:58 +01:00
Philip Rebohle
4eb884303a
[util] Enable d3d9.deferSurfaceCreation for even more Atelier games
2021-04-22 15:37:40 +02:00
Philip Rebohle
cb7adeef08
[d3d11] Add range checking to GetShaderResources
2021-04-22 12:56:11 +02:00
Philip Rebohle
65655ce37c
[d3d11] Add range checking to GetSamplers
2021-04-22 12:56:11 +02:00
Philip Rebohle
ef9ad29b7f
[d3d11] Add range checking to GetConstantBuffers
2021-04-22 12:56:11 +02:00
Philip Rebohle
2d9c229eaa
[d3d11] Add range checking to SOGetTargets
2021-04-22 12:56:11 +02:00
Philip Rebohle
11a02831a9
[d3d11] Add range checking to UAV and render target methods
2021-04-22 12:56:11 +02:00
Philip Rebohle
b51fd4d06c
[d3d11] Add range checking to IAGetVertexBuffers
2021-04-22 12:56:11 +02:00
Philip Rebohle
a13dad07cc
[d3d11] Add some missing STDMETHODCALLTYPE declarations
2021-04-22 12:56:11 +02:00
Philip Rebohle
65cc03a707
[util] Add app profile for Dal Segno
...
Fixes #2022 .
2021-04-22 12:55:04 +02:00
Georg Lehmann
730f5cc418
[build] conditionally enable --quiet for glslang
2021-04-21 13:43:08 +02:00
Andrew Sheldon
6339c8ec17
[util] Enable apitraceMode for a couple of CryEngine games
...
Kingdom Come: Deliverance and Sniper Ghost Warrior Contracts
2021-04-16 10:49:14 +02:00
Georg Lehmann
18466d4ae4
[util] remove some movs in matrix add/sub assignment
2021-04-15 22:25:11 +01:00
Georg Lehmann
77d80acf75
[d3d9] respect Vector4 alignment in UpdateStateConstants
2021-04-15 22:25:11 +01:00
Georg Lehmann
1ed6edf096
[d3d9] respect Vector4 alignment in GetShaderConstants
2021-04-15 22:25:11 +01:00
Georg Lehmann
d682ab0402
[util] static assert size of Vector4 and Matrix4
2021-04-15 22:25:11 +01:00
Georg Lehmann
5d3b130ec8
[d3d9] respect Matrix4 alignment in ConvertMatrix
2021-04-15 22:25:11 +01:00
Georg Lehmann
02eebb8595
[util] introduce a raw constructor for Matrix4
2021-04-15 22:25:11 +01:00
Georg Lehmann
c7271d94c1
[util] move Matrix4 constructors to header
2021-04-15 22:25:11 +01:00
Liam Middlebrook
fb0b11903b
[d3d11] Implement D3D11UserDefinedAnnotation
...
Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2021-04-08 14:25:02 +02:00
Liam Middlebrook
5ce5999232
[dxvk] Add support for debug utils labels
...
Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2021-04-08 14:25:02 +02:00
Liam Middlebrook
c89b274325
[dxvk] Track enabled instance extensions
...
Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2021-04-08 14:25:02 +02:00
Philip Rebohle
c3feea2bce
[dxvk] Make samplerAnisotropy feature optional
2021-04-04 20:01:30 +01:00
Philip Rebohle
0a787683b6
[dxvk] Don't require shaderStorageImageExtendedFormats
...
No real reason to, not sure why we did this in the first place.
2021-04-04 20:01:30 +01:00
Robin Kertels
9d0c46b9c6
[d3d9] FF: use correct vector type when dealing with tex coords
2021-04-04 16:31:39 +01:00
Robin Kertels
8e352d0260
[util] Enable memory track test for Dragon Nest
2021-04-04 15:45:24 +01:00
Joshua Ashton
a690210eae
[dxgi] Implement swapchain dispatcher
...
Some overlays and hooks check if the vtable funcs reside in the dxgi.dll module.
Fixes : #1996
2021-03-30 17:48:10 +02:00
Rémi Bernon
9e646a3415
[util] Override default thread stack reserve size.
...
Some applications (Dragon Quest Builder 2 for instance) use an oversized
default thread stack reserve size (2G in this case), which cause every
DXVK thread to allocate as much memory, quickly exhausting system memory.
2021-03-29 17:59:06 +01:00
Joshua Ashton
6b833062a0
build: Enable SSE3 for x86_64
...
Some minor codegen improvements around vector/matrix math in DX9.
2021-03-27 13:34:17 +00:00
Joshua Ashton
403af8820b
build: Disable SSSE3
...
Apparently people are still using Phenoms in 2021. *sigh*
2021-03-27 13:23:27 +00:00
Joshua Ashton
dd2823287a
build: Enable -mfpmath=sse
2021-03-27 12:33:37 +00:00
Joshua Ashton
f8c7e29d6f
build: Enable SSE3 and SSSE3 for x86
2021-03-27 12:33:05 +00:00
Robin Kertels
d17f62902d
[d3d9+util] Remove AllowLockFlagReadonly option
2021-03-22 17:43:07 +00:00
Robin Kertels
dba7525954
[d3d9] Mark non default resources as dirty by default
2021-03-22 17:43:07 +00:00
Robin Kertels
8159e87331
[d3d9] Fix some issues with dirty box handling
...
- The dst texture in UpdateSurface must be in D3DPOOL_DEFAULT
which doesn't do dirty tracking. So we don't need to
call AddDirtyBox there.
- Clear DirtyBox when we flush managed textures with EvictManagedOnUnlock.
- Do nothing in AddDirtyBox for D3DPOOL_DEFAULT textures
2021-03-22 17:43:07 +00:00