> I'd rather accumulate flags while compiling the shader rather than doing another pass at the end. Not a terribly strong opinion, though.
In principle I'd be inclined to agree, but this approach seems appropriate this close to the release. Ultimately the tpf writer should get this from the vsir_program, of course.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/685#note_63362
For all mach vm operations this removes the task suspend and resume, which are not needed.
This uses `mach_vm_read_overwrite` to read into a caller-specified buffer, saving the `mach_vm_deallocate` call (bringing all read operations down to 1 syscall from 4).
The only alignment restriction on `mach_vm_write` according to the original CMU documentation is that data is
> [pointer to page aligned in array of bytes] An array of data to be written.
(In practice it also works with arbitrary addresses on macOS, but it probably doesn't hurt to follow the original specifications here).
The only other reference that these read/writes should be page-aligned is from the GNU Hurd documentation
> The current implementation requires that address, data and data_count all be page-aligned. Otherwise, KERN_INVALID_ARGUMENT is returned.
which I assume was the reason why this was originally done (plus it sounds to me like they will fix that in the future and 4fe19777 already broke GNU Hurd support anyways, if that was supposed to be working).
Also this includes the missing mach part of 5b1f3b14, which was only applied to the ptrace backend, and together with the `write_process_memory` rework, this gets rid of all fixmes in mach.c
--
v3: server: Simplify mach write_process_memory.
server: Use mach_vm_read_overwrite in get_selector_entry.
server: Use mach_vm_read_overwrite in read_process_memory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4826
An extension of 3985b7c5. Opening the device for the Touch Bar on
older MacBooks also triggers a permission prompt, so for now it makes
sense to restrict the devices open.
--
v2: winebus.sys: Only attempt to open joysticks and gamepads in the IOHID backend.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5208
Split from https://gitlab.winehq.org/wine/wine/-/merge_requests/5137
--
v2: win32u: Introduce and use new reg_(open|create)_ascii_key helpers.
win32u: Use set_reg_ascii_value whenever possible.
win32u: Remove unnecessary class_guidW double check.
win32u: Use REG_SZ instead of REG_BINARY for some adapter keys.
win32u: Remove unused wine_devpropkey_monitor_adapternameW property.
win32u: Simplify adapter key path creation from gpu_guid.
win32u: Use char array for the device manager context gpuid.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5174