Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v8: vkd3d-shader/tpf: Initial support for writing fx_4_0/fx_4_1 binaries.
vkd3d-shader: Add separate binary target type for effects.
vkd3d-shader/hlsl: Handle effect group statement.
vkd3d-shader/hlsl: Add variables for techniques.
vkd3d-shader/hlsl: Rename rule for top-level techniques.
vkd3d-shader/hlsl: Add 'fxgroup' token.
tests: Add some tests for effects groups syntax.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/443
This serie cleans up (partially) the builtin Wine programs/*
compiled as GUI but still outputing to unix console.
Starting with the low hanging fruits with cases where no
one should care for the output.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4361
* Major refactor for x11drv xinput2 (listen for events based on focus, use raw unaccelerated values for XI_RawMotion)
*
I have a version of this patch that is a minimal diff to the x11drv xinput2 handler (maybe I got carried away here...), but I think it might be better to focus on the send_hardware_message() plumbing to make sure it is good for other graphics drivers.
Tested on XWayland only with MouseTester.exe (https://github.com/microe1/MouseTester/releases) and Quake Live (ported this set of patches to proton).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4360
Currently we are not properly handling register(cX) reservations for SM1, this is one of the things required for the SNK shaders (CW Bug Bug 18092).
register(cX) reservations also change the offset in the $Globals buffer in SM4, so support for this is also included.
---
Patch 1/4 is required to specify:
```
[require]
shader model < 4.0
```
so that the tests that follow do not get run with the vulkan backend on SM4. I think nobody disagreed with that patch.
--
v2: vkd3d-shader/hlsl: Turn register(cX) reservations into buffer offset for SM4.
vkd3d-shader/hlsl: Make register(cX) reservations work for SM1.
tests: Test register(cX) reservations.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/458
This MR improves driver support for scaled HiDPI displays, by respecting the application/window DPI.
Since we don't support per-monitor DPI information and awareness modes yet, the user should set the Wine system DPI to match the DPI/scale of the display the app will be running on, for best results.
Here is how things look with a few scenarios:
1. Screen scaled at 2x, application at 96dpi (e.g., dpi unaware apps) => the compositor automatically scales the surface:
![wine-wayland-2x-96dpi](/uploads/712bf2e64991889c91861d63dfd4fd60/wine-wayland-2x-96dpi.png)
2. Screen scaled at 2x, application at 192dpi (dpi matches compositor scale) => no compositor scaling:
![wine-wayland-2x-192dpi](/uploads/85c1201e1208f8b7e1c63804c7f83d1c/wine-wayland-2x-192dpi.png)
3. Screen scaled at 1x, application at 96dpi (dpi matches compositor scale) => no compositor scaling:
![wine-wayland-1x-96dpi](/uploads/8dfaaff1fc62defdb26f57c78cf9a427/wine-wayland-1x-96dpi.png)
4. Screen scaled at 1x, application at 192dpi, not typically used, just wanted to show what happens with such a mismatch:
![wine-wayland-1x-192dpi](/uploads/bb035140dd9c91ee3a22832c7280ab1b/wine-wayland-1x-192dpi.png)
Thanks!
--
v3: winewayland.drv: Ignore spurious size hints.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Prepare to handle different coordinate spaces.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4203
This fixes some inconsistency issues when it comes to inner vs outer windows. On second patch I keep ref again to outer windows from the inner windows, and there are several reasons for this:
* It fixes the existing tests to match native IE.
* It simplifies the code (it's always valid now, no second-guessing or what-ifs needed) and gets rid of `outer_window` in HTMLDocumentNode.
* It **fixes** the `outer_window` in HTMLDocumentNode → it was basically prone to crashes in niche cases since it didn't hold a ref before. We can't couple it to the inner `window` field either, because that one gets detached, and that will fail *existing* tests. For example: `events.c:3224: Test failed: put_URL failed: 80004005`.
* Instead of having to keep outer window refs in specific objects, it's simpler to have it consistent everywhere.
For now only the external caller changes are kept and a leak fix.
--
v3: mshtml: Don't NULL out the doc's window when unlinking the window.
mshtml: Return outer window to external callers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4312
_(w)environ[] do have a distinct allocation chunk for each entry, so
that _(w)environ[i] pointer and (pointed) string don't change when
updating/deleting any other entry.
Proposed implementation still differs from native:
- allocation is done on process heap, while native uses msvcrt's heap
- first ANSI allocated _environ[] doesn't have per entry allocation.
This is only activated after a change (update/deletion) to _environ[]
is made.
--
v6: msvcrt: Fix getmainargs() family to return correct environment block.
msvcrt: Use msvcrt heap for allocating envionment data.
msvcrt: Test adding UNICODE env variables.
msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
msvcrt/tests: Add tests about allocation of environment entries.
msvcrt: Improve environment tests (initial conditions).
https://gitlab.winehq.org/wine/wine/-/merge_requests/4313
This fixes some inconsistency issues when it comes to inner vs outer windows. On second patch I keep ref again to outer windows from the inner windows, and there are several reasons for this:
* It fixes the existing tests to match native IE.
* It simplifies the code (it's always valid now, no second-guessing or what-ifs needed) and gets rid of `outer_window` in HTMLDocumentNode.
* It **fixes** the `outer_window` in HTMLDocumentNode → it was basically prone to crashes in niche cases since it didn't hold a ref before. We can't couple it to the inner `window` field either, because that one gets detached, and that will fail *existing* tests. For example: `events.c:3224: Test failed: put_URL failed: 80004005`.
* Instead of having to keep outer window refs in specific objects, it's simpler to have it consistent everywhere.
--
v2: mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually
mshtml: Keep the inner window's outer_window pointer alive until it is
mshtml: Don't NULL out the doc's window when unlinking the window.
mshtml: Return outer window to external callers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4312