WinterSnowfall
7ff5321910
[d3d9] Implement a software cursor
2024-10-05 18:27:19 +02:00
WinterSnowfall
9d19fa18a7
[d3d9] Set D3DRS_POINTSIZE_MIN to 0.0f in D3D8 compatibility mode
2024-10-05 17:58:04 +02:00
Philip Rebohle
2af3fde5f2
[d3d9] Remove additional swap chain context
2024-10-04 12:58:55 +02:00
Robin Kertels
7d05a99640
[d3d9] Fix StretchRect fast-path resolve
2024-10-03 00:06:51 +02:00
Robin Kertels
4807af01ad
[d3d9] Resolve whole image in StretchRect
...
Fixes a validation error in Sims 4.
2024-10-02 20:22:37 +02:00
Philip Rebohle
67d1285b08
[dxvk] Refactor meta blits
2024-09-30 10:29:27 +02:00
Philip Rebohle
e6f89062f5
[d3d9] Ensure that we stay below the maximum sampler count
2024-09-28 20:21:06 +02:00
Philip Rebohle
07dfeeb319
[d3d9] Move building sampler key to CS thread
...
All this bit twiddling is a bit slow. Introduces another structure
containing a minimal amount of sampler parameters taken from the
raw D3D9 state.
2024-09-28 20:21:06 +02:00
Philip Rebohle
543b5c7af8
[d3d9] Optimize sampler state decoding
...
This code is rather hot now, so make sure it's fast.
2024-09-28 20:21:06 +02:00
Philip Rebohle
c7dab6a442
[d3d9] Remove internal sampler pool
...
We have a sampler pool in the backend now, let's use it.
2024-09-28 20:21:06 +02:00
Philip Rebohle
4635397bb1
[dxvk] Implement sampler pool
...
Deduplicates redundant sampler objects and makes sampler creation
as well as lifetime tracking a bit more efficient.
2024-09-28 20:21:06 +02:00
Philip Rebohle
4ed50ec6be
[d3d9] Fix UP buffer allocation
2024-09-27 12:55:59 +02:00
Philip Rebohle
1fd3c8040d
[dxvk] Remove DxvkBufferAllocation
2024-09-26 17:37:50 +02:00
Philip Rebohle
6f6e75b4b8
[d3d9] Use DxvkBufferAllocation where appropriate
2024-09-26 17:37:50 +02:00
Robin Kertels
f5ca3cf5df
[d3d9] ResolveZ: Only copy aspects that both images support
2024-09-25 00:32:13 +01:00
Robin Kertels
d7c2e3ac76
[d3d9] Use correct aspect mask when blitting depth stencil textures
...
We don't want to blit stencil when the D3D9 format doesn't have
stencil.
2024-09-25 00:32:13 +01:00
Robin Kertels
ca3aa2014b
[d3d9] Improve comment about synchronization with ProcessVertices
2024-09-22 22:53:55 +02:00
Robin Kertels
1d49f247ac
[d3d9] Remove incorrect early-exit
...
The same texture could be bound to
multiple slots and if the shader doesn't
use the lower index texture, we'd never
end up uploading it.
2024-09-22 22:53:55 +02:00
Robin Kertels
ef8bad33a5
[d3d9] Optimize late buffer uploads
...
... similar to what we're doing for textures.
2024-09-22 22:53:55 +02:00
Robin Kertels
5bb8d09a96
[d3d9] Always use per-draw buffer uploads on pure SWVP devices
2024-09-22 21:03:23 +02:00
Robin Kertels
46e8161649
[d3d9] Enable shaderInt8 for ProcessVertices
2024-09-20 12:57:11 +02:00
Robin Kertels
7f8cfec46f
[d3d9] Always set IsAttachmentOnly for CreateOffscreenPlainSurfaceEx
...
Surfaces cannot be bound as textures.
2024-09-04 22:17:10 +00:00
Robin Kertels
1b172344eb
[d3d9] Remove redundant scene check in StretchRect
2024-09-04 22:17:10 +00:00
Robin Kertels
11efd5092e
[d3d9] Handle remaining edge cases of Discard & Lockable
2024-09-04 22:17:10 +00:00
Robin Kertels
d456d0b437
[d3d9] StretchRect: Allow using an offscreen surface as dst when stretching
2024-07-09 13:54:59 +00:00
Robin Kertels
cc87870be1
[d3d9] Relax stretch rect check in D3D8 mode
2024-07-09 13:54:59 +00:00
Robin Kertels
9b504b506e
[d3d9] Rework FF texcoord processing to be more accurate
2024-07-07 01:28:44 -07:00
Robin Kertels
bbe851f6a2
[d3d9] Reduce data copied for SWVP vertex decls
2024-07-05 00:44:28 -07:00
Robin Kertels
ab12ffa0da
[d3d9] Use max point size of Vulkan device
...
The default render state value has to match what we report in the device caps.
Fixes a Wine stateblock test.
2024-07-05 00:44:28 -07:00
Robin Kertels
11db6d691c
[d3d9] Fix reference leak in ProcessVertices
...
Also fixes a Wine test.
2024-07-05 00:44:28 -07:00
Robin Kertels
175772944c
[d3d9] Fix Wine test failures in StretchRect
2024-07-05 00:44:28 -07:00
Robin Kertels
3145020a62
[d3d9] Only change vertex offset draw parameters when necessary
...
... Only change it when the vertex data is actually dynamically uploaded.
2024-06-21 13:18:39 +02:00
Jeff
3e5eb1660f
[d3d8] Implement Dref scaling and fixed-function depth textures ( #3565 )
2024-06-14 12:10:49 +02:00
Robin Kertels
60cfafe027
[d3d9] Fix strange type in dynamic vertex upload
2024-05-26 04:58:47 +00:00
Robin Kertels
889802887f
[d3d9] Rework uploading dynamic sysmem buffers at draw time
...
... and handle mismatching vertex sizes and vertex strides.
2024-05-23 16:44:49 +02:00
Danylo Piliaiev
58d8ea2d31
[d3d11,d3d9,util] Add a config option for reproducible VK output
...
It ensures that for the same D3D commands the output VK commands
don't change between runs.
Useful for comparative benchmarking, can negatively affect performance.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
2024-05-23 15:20:28 +02:00
Philip Rebohle
611dc60018
[d3d9] Do not support cube textures with depth formats
2024-05-08 17:05:48 +00:00
Joshua Ashton
0beb18ef73
[d3d9] Wait for submission when calling ReturnUnderlyingResource
2024-03-16 19:11:11 +00:00
Robin Kertels
8b8be7c2bf
[d3d9] Fix stream count in Reset
2024-03-10 17:12:22 +01:00
Billy Laws
0776d764a4
build: Support building for ARM64EC
...
When targeting ARM64EC, both __x86_64__ and _M_X86_64 are defined but
not all x86 intrinsics are present, treat EC as regular ARM64 so the
native intrinsics are used instead.
2024-03-09 05:43:46 +00:00
Robin Kertels
15ddadc4de
[d3d9] Fix number of streams
2024-03-08 18:42:15 +01:00
Robin Kertels
72c86b8229
[d3d9] Only unbind in EndScene if the game cleared the binding
2024-03-06 22:58:48 +01:00
Robin Kertels
85215b10d6
[d3d9] Respect vertex buffer offset when dynamically uploading geometry
2024-03-06 18:13:26 +01:00
Robin Kertels
20490b678f
[d3d9] Fix missing else brackets in ResetSwapchain
2024-03-06 12:08:45 +01:00
Robin Kertels
a0e39e94fa
[d3d9] Use most recently used swapchain for GetFrontBufferData
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
Robin Kertels
c5a37d443a
[d3d9] Handle null IBO when uploading data for draw
2024-02-20 13:04:01 -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
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