Stefan Dösinger
723cd0a4ae
wined3d: Make video memory accounting a per-resource flag.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54701
2023-03-28 11:43:38 +02:00
Anton Baskanov
c7f6dc641d
wined3d: Introduce a new flag to indicate that indirect draws won't be used.
2022-11-14 13:13:01 +01:00
Zebediah Figura
52c35814be
d3d8: Build without -DWINE_NO_LONG_TYPES.
2022-11-09 21:23:48 +01:00
Zebediah Figura
b42aa9b87b
d3d8: Cache the output mode list.
2022-08-02 21:49:54 +02:00
Zebediah Figura
0ee74e9f81
d3d9: Cache the output mode list.
...
Garou: Mark of the Wolves calls IDirect3D9::GetAdapterModeCount() on every
frame. This results in calling EnumDisplaySettingsExW() once per available mode,
which is a very slow operation, both on Windows and Wine.
Manual testing shows that Windows caches the mode list (as well as the adapter
list, which is already cached in Wine) in Direct3D 9 and lower. Calls to
GetAdapterModeCount() and EnumAdapterDisplayModes() are fast, and they also do
not change if monitors are added or removed.
DXGI behaves differently, however. The list of outputs attached to an adapter is
cached—that is, calls to IDXGIAdapter::EnumOutputs() are fast, and return stale
data. However, at least some other calls are slow and do not seem to be cached,
including IDXGIOutput::GetDisplayModeList() and IDXGIOutput::GetDesc().
ddraw is also slow and uncached. Since all testing was done on Windows 10 (for
lack of available older hardware to test with) it is not unlikely that ddraw was
reimplemented over dxgi on newer Windows, and that older Windows versions would
be fast and cached, but this is speculation. In any case I have not included
patches to cache ddraw modes.
Tests were done on Windows 10 21H2, both on real hardware with NVidia drivers
and on software drivers via qemu/KVM. In the latter case only speed could be
tested, but this was consistent with the results from the NVidia machine.
2022-08-02 21:49:54 +02:00
Rafał Harabień
e6c777d26d
d3d9: Fix handling of D3DENUM_WHQL_LEVEL.
...
D3DENUM_NO_WHQL_LEVEL from Direct3D 8 was replaced with D3DENUM_WHQL_LEVEL in
Direct3D 9.
Signed-off-by: Rafał Harabień <rafalh92@outlook.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:49 +01:00
Chip Davis
9937a26b1a
d3d8: Introduce a helper to convert d3d8 device types to wined3d types.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:25:26 +02:00
Zhiyi Zhang
b07e8b3edb
wined3d: Remove device_name and device_name_size from struct wined3d_adapter_identifier.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 20:33:56 +01:00
Zhiyi Zhang
5dae33dc3c
wined3d: Refactor wined3d_get_output_desc() to wined3d_output_get_desc().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 20:24:56 +01:00
Zhiyi Zhang
2e6dc57f31
d3d8: Report d3d8 adapter ordinal in device caps.
...
d3d8 adapters are actually outputs in wined3d.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:31:07 +01:00
Zhiyi Zhang
e6368b9c10
wined3d: Pass a struct wined3d_adapter pointer to wined3d_get_device_caps().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:30:58 +01:00
Zhiyi Zhang
f2a850c844
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_format().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:55:13 +01:00
Zhiyi Zhang
beb4668d58
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_multisample_type().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:55:09 +01:00
Zhiyi Zhang
591068cec0
wined3d: Refactor wined3d_get_adapter_identifier() to wined3d_adapter_get_identifier().
...
wined3d_adapter_get_identifier() uses a struct wined3d_adapter pointer
as parameter.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:55:05 +01:00
Zhiyi Zhang
2d1786c55a
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_depth_stencil_match().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:53 +01:00
Zhiyi Zhang
f9701d3777
wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_type().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:53 +01:00
Zhiyi Zhang
aa177f6afc
wined3d: Refactor wined3d_get_adapter_display_mode() to wined3d_output_get_display_mode().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:54:06 +01:00
Zhiyi Zhang
1bb5c9187c
wined3d: Refactor wined3d_get_adapter_mode_count() to wined3d_output_get_mode_count().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:49:37 +01:00
Zhiyi Zhang
a0dbb1e469
wined3d: Refactor wined3d_enum_adapter_modes() to wined3d_output_get_mode().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:49:33 +01:00
Zhiyi Zhang
2e848c18d9
d3d8: Enumerate wined3d outputs in d3d8_init().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:01:28 +01:00
Zhiyi Zhang
2f9037c75d
wined3d: Introduce wined3d_adapter_get_output_count().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:01:21 +01:00
Zebediah Figura
18c863e0ae
d3d8: Handle multisample depth resolve in d3d8_device_SetRenderState().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:31:52 +01:00
Alexandre Julliard
b1bb52ad68
d3d8: Remove redundant includes.
...
They cause warnings because NONAMELESSUNION has to be defined first.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-23 20:10:18 +01:00
Zhiyi Zhang
fca49ddcc9
d3d8: Fix incorrect types.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Alexandre Julliard
d2521ce33f
d3d8: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Matteo Bruni
ff92a993ad
d3d8: Return failure in CheckDeviceFormat() for unsupported adapter formats.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 02:09:00 +01:00
Józef Kucia
b51bc84338
wined3d: Move wined3d_bit_scan() to public header.
...
wine/port.h is required for ffs().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:07 +01:00
Józef Kucia
7aa4d27681
d3d8: Do not touch output parameters when d3d8_GetAdapterIdentifier() fails.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Józef Kucia
6dddb88ebe
wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Henri Verbeet
ae6553bd0b
wined3d: Pass bind flags to wined3d_check_device_format().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Józef Kucia
ec42ed4e18
wined3d: Get rid of WINED3DCAPS typedef.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 09:11:29 +02:00
Henri Verbeet
4b08687757
d3d8: Use the global memory allocation helpers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-08 09:42:06 +01:00
Józef Kucia
aea576b10f
d3d8: Validate adapter format in CheckDeviceFormat().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:45 +02:00
Józef Kucia
c7f3308db7
wined3d: Add support for seamless cube map filtering.
...
Seamless cube map filtering should always be enabled in D3D10+.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 16:37:35 +01:00
Józef Kucia
377c2eebbf
d3d8: Merge fixup_caps() into d3dcaps_from_wined3dcaps().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 17:23:01 +01:00
Józef Kucia
b9688afce5
d3d8: Get rid of WINECAPSTOD3D8CAPS() macro.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 17:22:58 +01:00
Józef Kucia
f7ca55f63a
d3d8: Allocate WINED3DCAPS on stack.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 17:23:05 +01:00
Józef Kucia
ffcea8af77
wined3d: Implement primitive restart.
...
Based on a patch by Andrew Wesie.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 13:54:06 +01:00
Józef Kucia
e47a735f76
wined3d: Add wined3d creation flag for selecting unbound resource color.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:23:45 +09:00
Henri Verbeet
f519aca8b3
wined3d: Reject sub-resource types in wined3d_check_device_format().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:14 +09:00
Henri Verbeet
5647fffb83
d3d8: Disable WINED3D_SRGB_READ_WRITE_CONTROL.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-13 13:22:53 +09:00
Matteo Bruni
49a7dc8a16
d3d8: Make CheckDeviceType() fail for display formats other than D3DFMT_X8R8G8B8 and D3DFMT_R5G6B5 in full-screen.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:29 +09:00
Józef Kucia
1769ea38e6
wined3d: Add support for separate sRGB formats.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 00:37:25 +09:00
Matteo Bruni
f088e46dbe
d3d11: Implement d3d11_device_CheckMultisampleQualityLevels().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 20:35:00 +09:00
Henri Verbeet
cf899ac267
wined3d: Rename WINED3D_RTYPE_VOLUME_TEXTURE to WINED3D_RTYPE_TEXTURE_3D.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 12:38:50 +09:00
Henri Verbeet
dafaae7730
wined3d: Unify WINED3D_RTYPE_TEXTURE and WINED3D_RTYPE_CUBE_TEXTURE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 12:38:46 +09:00
Henri Verbeet
af196e5f25
dxgi: Implement dxgi_output_GetDesc().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 13:21:47 +09:00
Henri Verbeet
94967c28b9
wined3d: Add support for half-integer pixel centers.
...
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Francois Gouget
ae7dfe274f
d3d8: Remove unneeded NONAMELESSXXX directives.
2015-03-10 15:18:23 +09:00
Stefan Dösinger
3ef1d6bcd9
wined3d: Pass WM_SYSCOMMAND(SC_RESTORE) to DefWindowProc.
2015-01-28 11:06:48 +01:00