Commit graph

527 commits

Author SHA1 Message Date
WinterSnowfall
ad0920fe1e [d3d9] Relax SM2 minor version checks on shader creation 2025-01-26 20:02:45 +01:00
WinterSnowfall
c6dc7e0939 [d3d8/9] Proper (and age accurate) handling of d3d9.shaderModel = 0 2025-01-26 13:56:27 +01:00
Philip Rebohle
539da5abdf [dxvk] Refactor CS chunk queues
Introduces two queues and allows us to dispatch chunks to the ordered
queue without disrupting the sequence number.
2025-01-25 18:02:20 +01:00
Philip Rebohle
0e3ed707ba [d3d9] Implement latency tracking 2025-01-25 18:02:20 +01:00
Philip Rebohle
3dbe8ad43c [d3d9] Rework device reset detection
More robust.
2025-01-16 11:38:39 +01:00
Philip Rebohle
1721be4973 [d3d9] Set debug names for internal buffers 2025-01-09 16:25:46 +01:00
Philip Rebohle
5487f8b9a0 [dxvk] Add convenience methods to check for debug utils support 2025-01-09 16:25:46 +01:00
Robin Kertels
24f98c5835 [d3d9] Skip texture type check when forceSpecConst option is active 2025-01-04 02:11:58 +00:00
Robin Kertels
1eb0c687a6 [d3d9] Fix messing up the dirty textures bitmask 2024-12-20 18:26:02 +01:00
Robin Kertels
65843aa016 [d3d9] Don't bind textures if texture type doesnt match 2024-12-17 14:49:52 +01:00
WinterSnowfall
4dd0afe121 [d3d9] Validate depth and stencil clears 2024-12-10 01:16:24 +01:00
Autumn Ashton
d956b188ed [d3d9] Clip plane compaction
Compact clip planes to the smallest amount that are enabled.

Signed-off-by: Autumn Ashton <misyl@froggi.es>
2024-12-05 06:08:34 +00:00
Autumn Ashton
8c4c814fb7 [d3d9] Spec-constant out writes to clip distances when disabled
Add a new spec constant with a mask of the enabled clip planes such that they can be optimized out to improve performance.

For GPL shaders, override what we return here so it's always true and don't bother putting the mask in the UBO.

Signed-off-by: Autumn Ashton <misyl@froggi.es>
2024-12-05 06:08:34 +00:00
WinterSnowfall
027fe5963a [d3d9] Fixes for state block specific behavior 2024-12-04 13:06:28 +01:00
WinterSnowfall
17b85accfb [d3d9] Adjust device reset failure error codes 2024-12-04 13:06:28 +01:00
WinterSnowfall
fb56668dc0 [d3d9] Adjust out of bounds clip plane index handling 2024-12-04 13:06:28 +01:00
WinterSnowfall
9c012c8e75 [d3d9] Skip recording MultiplyTransform calls in state blocks 2024-12-04 13:06:28 +01:00
WinterSnowfall
9e1bc1db23 [d3d9] Expand NormalizeTextureProperties validations 2024-11-23 16:58:25 +01:00
WinterSnowfall
97ad37e409 [d3d9] Validate RT parent device during SetRenderTarget 2024-11-23 16:58:25 +01:00
WinterSnowfall
77020760f1 [d3d9] Fix behavior on multiple image unlocks 2024-11-23 16:58:25 +01:00
WinterSnowfall
4f98844f47 [d3d9] Skip some validations for D3DDEVTYPE_NULLREF devices 2024-11-23 16:58:25 +01:00
Blisto91
7f1e52703d [d3d9] Change correctness factor to 0.5f
The original issue that 0.5f - (1.0f / 128.0f) fixed is a game bug that also happens on Windows and the version of the addon used back then didn't fix correctly. With the latest version of the addon it looks correct.
2024-11-18 13:03:58 +01:00
WinterSnowfall
eb98047412 [d3d9] Skip some validations when hDeviceWindow is NULL 2024-11-07 01:10:05 +01:00
Philip Rebohle
3c88591326 [d3d9] Fix various other ColorFill edge cases
Fixes all remaining validation in wine's color_fill_test. Some failed
tests remain because apparently we do not validate resource txpes properly.
2024-11-03 12:41:35 +01:00
Philip Rebohle
ccd19ce90b [d3d9] Properly handle block-compressed formats in ColorFill 2024-11-03 12:41:35 +01:00
WinterSnowfall
27ceecfad9 [d3d9] Fix cursor X/YHotSpot coordinate validation 2024-11-02 18:07:33 +01:00
WinterSnowfall
860d038d77 [d3d8] Don't record calls to MultiplyTransform 2024-11-02 18:07:33 +01:00
WinterSnowfall
931796d1c2 [d3d9] Fix CreateQuery error return code 2024-11-02 18:07:33 +01:00
WinterSnowfall
a7c2eb140e [d3d9] Add present params validations on device creation and reset 2024-11-02 18:07:33 +01:00
WinterSnowfall
35352b9c52 [d3d8] Set D3D8 compatibility at D3D9 interface level 2024-11-02 18:07:33 +01:00
Robin Kertels
48d8e7c402 [d3d9] Improve code readability with comments 2024-11-02 17:48:13 +01:00
Robin Kertels
19fea8c48d [d3d9] Move remaining texture bitmask updates to function 2024-11-02 17:48:13 +01:00
Robin Kertels
8d10bfecd4 [d3d9] Remove unused readonly bitfield 2024-11-02 17:48:13 +01:00
Philip Rebohle
84ce80f931 [d3d9] Use new fence wait function in WaitStagingBuffer 2024-10-30 23:37:54 +01:00
WinterSnowfall
5ad84563dd [d3d9] Improve the naming of GetFormatBlockSize helper 2024-10-27 12:36:33 +01:00
WinterSnowfall
63d9affdcb [d3d9] Add volume texture creation and locking validations 2024-10-27 12:36:33 +01:00
WinterSnowfall
a323abe085 [d3d9] Validate alignment for block aligned formats 2024-10-27 12:36:33 +01:00
Philip Rebohle
4af31a9d64 [dxvk] Remove context type concept
We only have a single context per device now.
2024-10-24 12:30:54 +02:00
Philip Rebohle
b4ed108105 [d3d9] Remove format conversion context 2024-10-24 12:30:54 +02:00
Philip Rebohle
6540ab4f3e [dxvk] Use DxvkPagedResource for CPU synchronization 2024-10-18 12:42:33 +02:00
Philip Rebohle
d72346f2cb [dxvk] Rename various storage-related functions 2024-10-18 12:42:33 +02:00
Philip Rebohle
500c86c054 [d3d9] Replace staging buffer marker with monotonic fence
Brings this in line with D3D11.
2024-10-16 20:57:50 +02:00
Robin Kertels
763b82b1e4 [d3d9] Fix render target null pointer deref 2024-10-15 19:29:20 +02:00
Robin Kertels
f65897be4c [d3d9] Remove a few unnecessary bitmasks 2024-10-13 17:13:31 +02:00
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
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
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