Wine currently runs all processes with an elevated administrator token. As
described in bug 40613, some applications refuse to be run with such a token.
This patch set addresses the situation by creating all processes with an
unelevated adminstrator token by default. When a process attempts to elevate
itself through one of several mechanisms—which would show a UAC prompt on
Windows—we instead silently elevate the process, as if the user had granted
access through the UAC prompt.
This works for almost all applications. I have found only one application which
didn't get the memo, and actually asks the user to right click and run as
administrator, namely PaintTool SAI. Fortunately, 063a377df4f, combined with the
shell32 patch in this series, allows a Wine user to elevate that process by
opening explorer.exe, right-clicking, and selecting Run as Administrator, just
like on Windows.
This patch series has been in Wine-Staging for about three years. This was
partly to try to find and fix all the different creative ways that applications
tried to elevate themselves, but mostly because I needed to find a solution for
PaintTool SAI, and never quite got the time to implement run-as-administrator in
shell32.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5118
> > I guess `hlsl_types_are_equal()` should be updated too?
>
> I added a check for HLSL_TYPE_UAV and "rasteriser_ordered", but I notice we don't compare formats there either for UAVs.
Yeah, that's not right...
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/652#note_62098
Based on [a patch](https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.or… by Jinoh Kang (@iamahuman) from February 2022.
I removed the need for the event object and implemented fast paths for Linux.
On macOS 10.14+ `thread_get_register_pointer_values` is called on every thread of the process.
On Linux 4.14+ `membarrier(MEMBARRIER_CMD_GLOBAL_EXPEDITED, ...)` is used.
On x86 Linux <= 4.13 and on other platforms `madvise(..., MADV_DONTNEED)` is used, which sends IPIs to all cores causing them to do a memory barrier.
--
v12: ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add mprotect-based implementation of NtFlushProcessWriteBuffers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/741
--
v9: vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
tests/shader-runner: Add a test for a signed int structured buffer UAV.
tests/shader-runner: Add a test for a signed int typed buffer UAV.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/642