> MoltenVK has its own scheme for assigning a PCI device ID to the AGX GPUs. I wonder if it wouldn't be worth attempting to emulate that in case apps try to match the ID from Vulkan to this one.
[They used to, but now they just use the device feature set plus the OS version](https://github.com/KhronosGroup/MoltenVK/commit/df043487e4711fe61e…. I'm a bit worried about sticking the OS version on top like they do, since PCI device IDs are normally 16-bit, but maybe that would work out fine?
> This is also producing a build failiure on macOS 10.14
Do we need things built on 10.14 to run on M1 Macs (which don't support 32-bit)? If not, I can just ifdef it out in that case. Otherwise, I can try defining those symbols manually.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3187#note_37342
Required for !1857 to not break when comctl32 version 6 isn't requested by application (in particular, found this in [qapitrace](https://github.com/apitrace/apitrace)).
Manifest resource id and assembly identity name match with Windows.
For isolation purposes, activation context is disabled while emitting events.
--
v10: comdlg32: Enable visual styles when showing IFileDialog.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2068
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!
--
v7: winewayland.drv: Do not commit buffers to unconfigured surfaces.
winewayland.drv: Implement a simple window_surface flush.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2944
We update the cache in NtUserCreateDesktopEx, as it may change existing
thread desktop flags, but we need to do it as well when a new desktop is
created while still detached, then attached to a thread through
NtUserSetThreadDesktop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55146
This is the case when forcing virtual desktop mode with new desktop creation by running `explorer /desktop=test,1024x768 winecfg` for instance.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3197
Initialize the calendars variable after checking if locale is NULL before using it to avoid NULL
pointer references. Fix a Excel 2016 crash when formatting dates with the custom format 'ddd'.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3190
--
v8: vkd3d-shader/tpf: Add support for writing 'resinfo' instruction.
vkd3d-shader/tpf: Add support for writing 'sampleinfo' instruction.
vkd3d-shader/hlsl: Parse GetDimensions() method.
tests: Add some tests for GetDimensions().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/218
In a declaration with multiple variables, the variables must be created
before the initializer of the next variable is parsed. This is required
for initializers such as:
```
float a = 1, b = a, c = b + 1;
```
The solution is to parse the type information in the same rule as the first variable ('a' in this case) so that it can be declared before the parser reaches the initializer for the following variables.
To initialize the following variables, the type information is passed along from the first variable's struct parse_variable_def to the next and so on.
---
Solves https://bugs.winehq.org/show_bug.cgi?id=54484, pointed out by @nsivov.
--
v2: vkd3d-shader/hlsl: Declare vars individually when parsing struct declarations.
vkd3d-shader/hlsl: Declare vars individually when parsing regular declarations.
vkd3d-shader/hlsl: Split declare_vars().
tests: Test multiple variable initializers.
tests: Test semantics in uniform variables.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/250