--
v5: uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Store all events in an event list.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2988
The goal of this MR is to set up the minimum necessary infrastructure to display the contents of some simple, software rendered windows. This involves two major steps:
1. Associate a window with a Wayland surface and give it the `xdg_toplevel` role, so that the compositor can display it. We also have to implement the required initial `xdg_surface` configuration sequence to be able to safely (i.e., without the compositor disconnecting us with an error) attach buffers to the surface in step (2).
2. Implement the `window_surface` interface for the Wayland driver. For now we provide a simple (and suboptimal) `window_surface_flush` implementation: for each flush we create a new `wl_shm` buffer, copy the whole window contents (ignoring damaged bounds for now) into it and attach it to the target Wayland surface. In the next MR I will optimize this implementation in multiple ways: a. implement a buffer queue to avoid constantly allocating new buffers b. respect the damaged bounds of the `window_surface` to minimize copying of data from the `window_surface` to the SHM buffer (and also for correctness) c. communicate damaged surface regions to the compositor to (potentially) allow more efficient texture uploads.
With this MR many (software-rendered) applications can now display dynamic content on screen. We can't interact with the apps yet, but we do get to enjoy `notepad` in all its blinking-cursor glory.
Thanks!
--
v3: winewayland.drv: Implement a simple window_surface flush.
winewayland.drv: Introduce window_surface for Wayland.
winewayland.drv: Ensure Wayland surface handlers don't access invalid data.
winewayland.drv: Basic Wayland toplevel surface support.
winewayland.drv: Introduce per-window driver data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2944
Some of these fixes are subtle (like the first patch) and very annoying to debug. Although the first patch looks like a hack, surprisingly, it's how the spec itself says it is! It's not even an IE quirk, but a special case in the spec.
For example, the variable name (which holds the builtin eval func) **does** matter: if it's called something other than 'eval', it gets treated differently (as if indirect), and this is verified by the tests + the spec's wording (so Microsoft's implementation follows it).
Most of the patches other than the first 2 are pretty small so they're in same MR.
--
v4: jscript: Store ref to the function code instead of the function instance
jscript: Start from the last argument when adding them to named locals.
jscript: Always store the passed arguments into the argument obj, if not
jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
jscript: Get rid of jsobj in scope_chain_t.
jscript: Move arguments_obj from the frame to the base scope.
jscript: Fix addressing invalid memory if ref is an argument.
jscript: Correctly implement context for indirect eval calls in ES5+ modes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2942
--
v3: uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Store all events in an event list.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2988
--
v2: uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Store all events in an event list.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2988
This only affects clip and cull distances. The HLSL compiler emits these using
dcl_input, but the previous shader (vertex or TES) will write them as a SPIRV
builtin, and hence we want to read this as a SPIRV builtin as well.
This fixes validation errors in Wine's test_clip_distance().
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/231
As per title, the size columns in My Computer are not showing correct values.
MR changes them as follows:
![](/uploads/055ff7ed1a4c95524ca108985acb4ee1/changes.png)
The D: to H: here are card adapter drives and DVD drive. Turns out they shouldn't show any size at all, and were probably showing whatever uninitialized memory was in `ULARGE_INTEGER`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3046