1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 01:24:11 +01:00
Commit Graph

6335 Commits

Author SHA1 Message Date
Philip Rebohle
2db10b0af8 [d3d11] Use D3D11_COMMON_TEXTURE_MAP_MODE_DYNAMIC where possible 2024-11-08 11:19:21 +01:00
Philip Rebohle
da406133f1 [d3d11] Add D3D11_COMMON_TEXTURE_MAP_MODE_DYNAMIC 2024-11-08 11:19:21 +01:00
Philip Rebohle
1d2d05dde0 [d3d11] Clean up some texture map mode checks 2024-11-08 11:19:21 +01:00
Philip Rebohle
43e636cf42 [dxvk] Rearrange DxvkBufferCreateInfo 2024-11-08 11:19:21 +01:00
Philip Rebohle
bd6b7aedc1 [d3d11] Clean up image staging buffer creation 2024-11-08 11:19:21 +01:00
Philip Rebohle
9e316b8c71 [d3d11] Disallow MAP_WRITE_NO_OVERWRITE on dynamic images
D3D11 explicitly bans this, so we shouldn't pretend to support it.
2024-11-08 11:19:21 +01:00
Philip Rebohle
1dfb869df2 [d3d11] Tie mapped image memory type to map mode selection
Allows us to keep video images in system memory in order to avoid
wasting precious HVV.
2024-11-08 11:19:21 +01:00
Philip Rebohle
ae67c026aa [d3d11] Implement image MAP_WRITE_DISCARD on immediate context 2024-11-08 11:19:21 +01:00
Philip Rebohle
789e8db699 [d3d11] Fix MAP_WRITE_DISCARD for mapped images on deferred contexts
The previous implementation was straight-up broken since it would use the
wrong subresource layout. We can discard the image now so let's just do that.
2024-11-08 11:19:21 +01:00
Philip Rebohle
30f2a8c26b [d3d11] Add methods to discard direct-mapped images 2024-11-08 11:19:21 +01:00
Philip Rebohle
64e32d4ee1 [d3d11] Clean up InitHostVisibleTexture
Also fixes a potential crash if pSysMem of any initial data structs is null.
2024-11-08 11:19:21 +01:00
Philip Rebohle
f5241d187c [d3d11] Use GetMapPtr when initializing mapped image buffer 2024-11-08 11:19:21 +01:00
Philip Rebohle
1832332d6d [d3d11] Add GetMapPtr method to D3D11CommonTexture
Fixes a bug in Read/WriteSubresource where discards result in the wrong
pointer being passed to the app.
2024-11-08 11:19:21 +01:00
Philip Rebohle
81bdf191cb [dxvk] Remove old querySubresourceLayout method 2024-11-08 11:19:21 +01:00
Philip Rebohle
c5d776c3b8 [d3d11] Cache subresource layouts for mapped images
Also adjust the way we expose certain direct-mapped images in order
to be as consistent with staging buffer behaviour as possible.
2024-11-08 11:19:21 +01:00
Philip Rebohle
a5e8a42288 [d3d11] Properly initialize optons struct
No bug, but it's good practice either way.
2024-11-08 11:19:21 +01:00
Philip Rebohle
bdf4cb765a [d3d11] Remove d3d11.maxDynamicImageBufferSize option 2024-11-08 11:19:21 +01:00
Philip Rebohle
116d488faa [d3d11] Use direct mapping for images in more situations 2024-11-08 11:19:21 +01:00
Philip Rebohle
35d94ae057 [d3d11] Improve memory type selection for direct-mapped images 2024-11-08 11:19:21 +01:00
Philip Rebohle
0896df7b9a [dxvk] Add back-end function to compute linear image subresource layouts 2024-11-08 11:19:21 +01:00
Robin Kertels
62970d24c3 [d3d9] Enable strict float emulation by default on new Nvidia drivers 2024-11-07 17:34:45 +01:00
WinterSnowfall
eb98047412 [d3d9] Skip some validations when hDeviceWindow is NULL 2024-11-07 01:10:05 +01:00
Blisto91
c466dec207 [CI] Make MSCV artifacts output match the regular artifact CI
Merges the two separate archives in to one and puts the dll and pdb files in a x32 and x64 folder.
Currently the two archives package the output in a folder called src and the files in subfolders of the respective names. E.g. `src/d3d9/d3d9.dll` etc.

This makes the MSCV artifacts archive match the regular artifacts CI output.
2024-11-04 17:56:16 +01:00
Philip Rebohle
c968ba624b [dxvk] Only force late clears on older Nvidia drivers
Disables the workaround introduced in 00872e9e4f
on drivers that were not affected by the bug.
2024-11-03 17:13:16 +01:00
WinterSnowfall
64b35c5c0f [d3d9] Early return D3D_OK on present with a NULL m_window 2024-11-03 13:35:55 +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
Philip Rebohle
c4421348cf [d3d9] Fix image layout for transfer-only images 2024-11-03 12:41:35 +01:00
Philip Rebohle
cde8661bc1 [dxvk] Add helper to compute clear values for compressed formats 2024-11-03 12:41:35 +01:00
Philip Rebohle
778b04f39a [d3d9] Properly destroy format conversion set and pipeline layouts 2024-11-03 12:41:35 +01:00
Philip Rebohle
54c45ef3fa [dxvk] Fix when tracking happens in resource relocation
Invalidation now resets tracking, so it is possible that after recreating
an image with different usage we'd use it on the wrong command buffer for
certain functions.
2024-11-03 12:25:53 +01:00
Philip Rebohle
c764dd97a6 [util] Fix __wine_dbg_output crash with very long lines
This sometimes happens with Vulkan validation layers enabled.
2024-11-03 12:02:03 +01:00
Philip Rebohle
f3c320b490 [dxvk] Fix broken sync in injectCsChunk 2024-11-02 20:56:02 +01:00
WinterSnowfall
b38c6b4dc2 [d3d8] Adjust ValidatePixel/VertexShader error return 2024-11-02 18:07:33 +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
88be8256e6 [d3d9] Add additional ValidateBufferProperties validations 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
0c117595b1 [d3d8] Strip all d3d9 device caps 2024-11-02 18:07:33 +01:00
WinterSnowfall
1181efd09d [d3d8] Adjust surface and texture clearing with D3DFMT_UNKNOWN 2024-11-02 18:07:33 +01:00
WinterSnowfall
a760f4a8dc [d3d9] Fixed return code on CheckAdapterFormat with D3DFMT_UNKNOWN 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
WinterSnowfall
11d5f9ee36 [d3d8] State block recording validations 2024-11-02 18:07:33 +01:00
WinterSnowfall
0e6be8a48b [d3d8/9] Add several Set/GetPrivateData validations 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
WinterSnowfall
c606ab03e8 [util] Re-enable direct buffer mapping for Rayman 3 2024-11-02 15:41:34 +01:00
WinterSnowfall
f74b2cd6c6 [d3d9] Order modes descending by refresh rate 2024-10-31 20:37:04 +01:00