Commit graph

158685 commits

Author SHA1 Message Date
Zebediah Figura 05386fd0ac include: Print "succeeded inside todo block" messages in colour. 2022-08-02 21:49:54 +02:00
Rafał Harabień 549969a6fb include: Allow printing test failure messages in bright red.
Colours are disabled by default, and can be enabled using WINETEST_COLOR=1.
2022-08-02 21:49:54 +02:00
Dmitry Timoshkov 9d9b564e4b ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
As the tests show after creating a kernel object with name "wine_test\0"
it's possible to only open it as "wine_test\0", an attempt opening it
as "wine_test" fails with STATUS_OBJECT_NAME_NOT_FOUND, and vice versa.
Also the tests show that "wine\0test" is a valid kernel object name.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-08-02 21:49:54 +02:00
Dmitry Timoshkov bfec2a6637 ntdll/tests: Fix compilation with PSDK.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-08-02 21:49:54 +02:00
Zebediah Figura a43da37637 wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode(). 2022-08-02 21:49:54 +02:00
Zebediah Figura a601930a91 dxgi: Build the device list only once in dxgi_output_get_display_mode_list(). 2022-08-02 21:49:54 +02: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
Zebediah Figura 95352c096f wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count](). 2022-08-02 21:49:54 +02:00
Zebediah Figura 9f79a79e95 wined3d: Factor out mode_matches_filter(). 2022-08-02 21:49:54 +02:00
Brendan Shanks eb64d4a9ad ntdll: Use correct mcontext struct on macOS under Wow64. 2022-08-02 12:02:36 +02:00
Stefan Dösinger 7fa1259823 ddraw/tests: Add some video memory accounting tests. 2022-08-02 11:59:03 +02:00
Stefan Dösinger 8bddb9808e ddraw: Don't account video memory for sysmem surfaces' draw textures.
Star Trek Starfleet Academy does not like it when available video memory
goes down after creating a system memory resource. It destroys all its
textures and recreates them, and in some sitations forgets to recreate
one or another texture, resulting in rendering bugs.

I suspect the game is trying to detect focus loss by monitoring for
unexpected video memory changes.
2022-08-02 11:58:59 +02:00
Rémi Bernon d7457fd32e winex11.drv: Constify set_current_mode DEVMODEW parameter. 2022-08-02 11:56:37 +02:00
Rémi Bernon 395273d6e1 winex11.drv: Iterate display settings using dmDriverExtra. 2022-08-02 11:56:36 +02:00
Rémi Bernon 581b30d318 winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
Keeping the id in the dmDriverExtra bytes.
2022-08-02 11:56:35 +02:00
Rémi Bernon cd0b4393e5 winex11.drv: Update devmode dmPosition instead of new_rect. 2022-08-02 11:56:34 +02:00
Rémi Bernon d621a7a3e3 winex11.drv: Use DM_POSITION field bit to mark placed displays. 2022-08-02 11:56:33 +02:00
Rémi Bernon 65b71e858e winex11.drv: Use a local desired_rect variable when placing displays. 2022-08-02 11:56:31 +02:00
Gabriel Ivăncescu b9f22f6078 mshtml: Implement MediaQueryList's matches prop.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-02 11:55:11 +02:00
Gabriel Ivăncescu 09b73c89c4 mshtml: Implement MediaQueryList's media prop.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-02 11:55:11 +02:00
Gabriel Ivăncescu b918a532bc mshtml: Implement window.matchMedia() with MediaQueryList stub.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-02 11:55:11 +02:00
Jacek Caban 7e2beeec91 user32: Forward more scroll bar messages to win32u.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53364
2022-08-01 16:07:32 +02:00
Rémi Bernon b48fc2c2d6 winegstreamer: Use the correct name for WMADecMediaObject DMO. 2022-08-01 15:26:24 +02:00
Rémi Bernon 6d64e40776 mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
When it is specified. The Resampler transform exposes the block
alignment in its output stream info cbSize, and the session then
otherwise reads data one audio frame at a time.
2022-08-01 15:26:22 +02:00
Rémi Bernon c806c4eed5 mf: Implement SAR media type required attributes checks. 2022-08-01 15:26:22 +02:00
Rémi Bernon e5a512eb93 winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute.
This is required by the Resampler transform, and will be used in next
patch as well as for session buffer size heuristic.
2022-08-01 15:26:20 +02:00
Rémi Bernon 180572129f mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex. 2022-08-01 15:26:20 +02:00
Rémi Bernon 3dbb6c7470 mf/tests: Add required SAR media type attributes tests. 2022-08-01 15:26:18 +02:00
Alexandre Julliard c86955d380 Release 7.14.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-29 22:03:04 +02:00
Paul Gofman b46917a481 opengl32/tests: Remove depth 32 / stencil 0 test in test_choosepixelformat().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53429
2022-07-29 21:34:32 +02:00
Gabriel Ivăncescu f48709cfe4 mshtml: Handle lack of window in methods for detached documents.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-29 18:56:04 +02:00
Gabriel Ivăncescu 144b30d941 mshtml: Implement DocumentType node's name prop.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-29 18:56:04 +02:00
Gabriel Ivăncescu d07c81158f mshtml: Implement document.doctype.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-29 18:56:04 +02:00
Gabriel Ivăncescu 434f9f1404 include: Add DOMDocumentType dispinterface and coclass.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-29 18:56:04 +02:00
Gabriel Ivăncescu fbefdd6753 include: Add IHTMLDOMNode3 to the HTMLDOMNode dispinterfaces.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-29 18:56:03 +02:00
Nikolay Sivov f6f2a1a3e5 dwrite: Fix fallback config ranges text parsing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-29 18:55:38 +02:00
Eric Pouech 16bcc3bc29 winedbg: Synthetize pointer to type when not available.
This ensures that we always have a type as pointer to a known <type>
(either because it exists in <type>'s module, or it's synthetized inside
debugger).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-29 18:55:32 +02:00
Eric Pouech dd977e4a85 winedbg: Store result of types_get_info(TI_GET_TYPE) in dbg_type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-29 18:55:30 +02:00
Nikolay Sivov d909f27590 win32u: Fix typo in font handle creation in NtUserDrawCaptionTemp().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-28 21:36:00 +02:00
Rémi Bernon 4304a677c1 maintainers: Assume maintainership of input sections. 2022-07-28 20:08:58 +02:00
Rémi Bernon a2395ecf96 server: Use the client provided rawinput registered device array. 2022-07-28 20:08:58 +02:00
Rémi Bernon 1587e9db88 win32u: Implement NtUserGetRegisteredRawInputDevices on the client side. 2022-07-28 20:08:58 +02:00
Rémi Bernon c484e4b87e win32u: Use a struct list to keep rawinput devices. 2022-07-28 20:08:31 +02:00
Rémi Bernon 37a3c916b4 win32u: Use a static size array for rawinput device path. 2022-07-28 20:08:31 +02:00
Alexandre Julliard e31276e9a2 makefiles: Look for source files in the makefile before trying to open them.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-28 17:46:51 +02:00
Alexandre Julliard 56fea67c53 makefiles: Work directly with Makefile.in names in make_makefiles. 2022-07-28 17:46:51 +02:00
Alexandre Julliard 6f4d1766a7 makefiles: Avoid adding the same source multiple times. 2022-07-28 17:46:50 +02:00
Alexandre Julliard 872dc83e81 makefiles: List all headers in the makefile.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-28 17:46:50 +02:00
Gabriel Ivăncescu c82900e207 mshtml: Implement "text" type response for XMLHttpRequest.
Also basic implementation of arraybuffer/blob with invalid state, mostly
to show how the tests will look.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-07-28 17:34:03 +02:00