I had these in my patch repo for quite a while.
Patch 1 shouldn't need explanation.
The problem fixed by patch 2 and 3 is that
sizeof(KEY_{BASIC,VALUE_PARTIAL,FULL}_INFORMATION) are all slightly bigger
than the actual minimum size required to get all the requested info, because
those structs include an array of size 1 as their last member, which is
intended to be a variable length array.
Fixing these size calculations removes one allocation in wineserver and
reduces the amount of data transmitted by 1 - 2 bytes.
Patch 4 just reduces the amount of data transmitted from wineserver for each
update_display_cache_from_registry call, which is called every time the
display device lists are locked.
--
v2: win32u: Query basic instead of full key information to get the LastWriteTime.
win32u: Calculate buffer sizes from registry structs correctly.
ntdll: Calculate buffer sizes from registry structs correctly.
ntdll: Use correct output buffer size in RtlpNtEnumerateSubKey.
https://gitlab.winehq.org/wine/wine/-/merge_requests/98
There are only three unused format flags left. I will soon submit changes
which add four more format flags.
I've noticed that format flags generally fall into two groups:
* The first group consists of flags describing the content of a pixel
format, e.g. whether or not this is a depth format, or whether this is
a blocked format. These flags are the same for all resource types.
* The second group consists of flags describing capabilities of the
implementation with this format. These can and do vary by resource
type.
Only the second group needs to be stored per-resource-type.
--
v2: wined3d: Rename format base_flags to flags.
wined3d: Rename format flags to caps.
wined3d: Move WINED3DFMT_FLAG_CAST_TO_BLOCK to the base flags group.
wined3d: Move WINED3DFMT_FLAG_MAPPABLE to the base flags group.
wined3d: Move WINED3DFMT_FLAG_COMPRESSED and HEIGHT_SCALE to the base flags group.
wined3d: Move WINED3DFMT_FLAG_BLOCKS, BROKEN_PITCH, and BLOCKS_NO_VERIFY to the base flag group.
wined3d: Move WINED3DFMT_FLAG_EXTENSION to the base flags group.
wined3d: Move WINED3DFMT_FLAG_BUMPMAP to the base flags group.
wined3d: Move WINED3DFMT_FLAG_NORMALISED to the base flags group.
wined3d: Move WINED3DFMT_FLAG_INTEGER to the base flags group.
wined3d: Move WINED3DFMT_FLAG_FLOAT to a separate group.
https://gitlab.winehq.org/wine/wine/-/merge_requests/79
otherwise Wine's and Mingw64's __uuidof() enter in conflict (C++)
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
v4: include: Use Mingw64's __uuidof when present.
https://gitlab.winehq.org/wine/wine/-/merge_requests/21