1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-14 22:29:15 +01:00

516 Commits

Author SHA1 Message Date
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
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
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
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
2af3fde5f2 [d3d9] Remove additional swap chain context 2024-10-04 12:58:55 +02:00