Robin Kertels
421ead5b30
[d3d9] Only dirty frame buffer on render state changes if render area is impacted
2024-10-13 17:13:31 +02:00
Blisto91
05d089bee5
[d3d9] Silence unhandled render state D3DRS_ADAPTIVETESS_Y
2024-10-13 12:31:14 +02:00
Philip Rebohle
d00669cb52
[dxvk] Rename DxvkGpu{Event,Query} to Dxvk{Event,Query}
...
The old name only ever existed because DXVK had two separate implementations
of these prior to version 1.1. Let's name them back so that more sensible
names are available for internal use.
2024-10-13 12:08:35 +02:00
Robin Kertels
5890eae32f
[d3d9] Don't clear mipGenBit if texture is bound as attachment
2024-10-13 12:07:30 +02:00
Robin Kertels
5ff365b9f1
[d3d9] Remove initializer context
2024-10-12 10:09:17 +02:00
WinterSnowfall
48c57c11e9
[d3d9] Make proper use of X/YHotSpot for software cursors
2024-10-11 12:40:37 +02:00
WinterSnowfall
c8759418af
[d3d9] Fix device reset handling when no cursor is set
2024-10-10 09:31:13 +02:00
Robin Kertels
d39d879838
[d3d9] Add a bunch of missing likely/unlikely to PrepareDraw
...
PrepareDraw is pretty much the hottest part of the d3d9
frontend, so we take every tiny bit we get.
2024-10-09 21:28:59 +00:00
Robin Kertels
395ac38890
[d3d9] Fix fixed function texture mask
...
Fixed function supports 8 textures so we need 8 ones.
2024-10-09 21:28:59 +00:00
WinterSnowfall
a1a3800b3f
[d3d9] Fix software cursor reset and transitions
2024-10-08 20:20:31 +02:00
Philip Rebohle
ad1f70beea
[dxvk] Support format conversion in copyImageToBuffer
2024-10-08 17:46:18 +02:00
Philip Rebohle
f67c8dd1da
[dxvk] Support format conversion in copyBufferToImage
2024-10-08 17:46:18 +02:00
Philip Rebohle
c614e537a9
[dxvk] Remove alignment parameter from staging buffers
...
Just align all suballocations to 256 bytes as usual.
2024-10-08 17:46:18 +02:00
WinterSnowfall
559398f6a4
[d3d9] Check block alignment on texture creation with DXT formats
2024-10-08 00:25:55 +02:00
WinterSnowfall
088cf45439
[d3d9] Validate 0 valued back buffer dimensions for fullscreen mode
2024-10-08 00:25:55 +02:00
WinterSnowfall
6e0c048b88
[d3d9] Return D3DERR_DEVICELOST on reset failure due to losable resources
2024-10-08 00:25:55 +02:00
WinterSnowfall
912a530d1c
[d3d9] Enforce various CheckDeviceMultiSampleType validations
2024-10-08 00:25:55 +02:00
WinterSnowfall
980a8d185c
[d3d9] Use D24X8 for D3DFMT_UNKNOWN depth stencils
2024-10-05 20:03:05 +02:00
WinterSnowfall
bbe82aa534
[d3d9] Fix (most) cursor-related Wine tests
2024-10-05 18:27:19 +02:00
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
329d9a0bb2
[dxvk] Add support for drawing a software cursor
2024-10-04 19:10:14 +02:00
Philip Rebohle
2af3fde5f2
[d3d9] Remove additional swap chain context
2024-10-04 12:58:55 +02:00
Philip Rebohle
63b200f08d
[dxvk] Reimplement HUD rendering to use Vulkan directly
...
And change how rendering works in general so that we emit fewer
draw calls.
2024-10-04 12:58:55 +02:00
Philip Rebohle
207e15eb24
[dxvk] Refactor swap chain blitter to use plain Vulkan
...
Temporarily disable the HUD until that is refactored too.
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
b164d6e2a7
[d3d9] Do not proactively enable meta copy usage flags
...
Same as the corresponding D3D11 change, let the backend deal with this
when necessary.
2024-09-30 10:29:27 +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
b4e69dce76
[dxvk] Remove DxvkImageViewCreateInfo
2024-09-28 01:50:23 +02:00
Philip Rebohle
8195bea63e
[dxvk] Remove DxvkBufferViewCreateInfo
...
Use the new key struct directly to avoid unnecessary struct conversion.
2024-09-28 01:21:07 +02:00
Philip Rebohle
01a7457a6f
[dxvk] Remove createImageView function
...
Use the image's method instead, like we already do for buffers.
2024-09-28 00:03:56 +02:00
Philip Rebohle
4ed50ec6be
[d3d9] Fix UP buffer allocation
2024-09-27 12:55:59 +02:00
Philip Rebohle
25076d9220
[dxvk] Rework image view creation
2024-09-26 17:37:50 +02:00
Philip Rebohle
713b76bea5
[dxvk] Rework image creation
...
Uses DxvkResourceAllocation to manage image backing storage,
which will allow invalidating images in the future.
2024-09-26 17:37:50 +02:00
Philip Rebohle
088ba404a6
[dxvk] Rework buffer view creation
2024-09-26 17:37:50 +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
04ad98690b
[d3d9] Add SWVP HUD item
2024-09-22 21:03:23 +02:00
Robin Kertels
033104f335
[d3d9] Cleanup buffer memory flag selection
2024-09-22 21:03:23 +02:00