On Tue Apr 25 20:26:04 2023 +0000, Henri Verbeet wrote:
> As an aside, I should note that MSVC is not officially a supported
> compiler for vkd3d. I'll happily take patches to make it work provided
> they're not too unreasonable, but if it breaks, it breaks.
The other issue I run into - and this is probably a Vulkan SDK thing, not MSVC as such - is that the options I have for GLSL.std.450.h are
spirv-headers/GLSL.std.450.h
spirv_cross/GLSL.std.450.h
and not spirv/unified1/GLSL.std.450.h or vulkan/GLSL.std.450.h as checked by configure. Has the location changed in newer Vulkan SDK versions, or was this never tested on Windows (with any compiler) to begin with?
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/171#note_31131
While working on Wine ports or Hangover I sometimes come across exceptions with code=6ba.
When I forget about which exception it is, I have a hard time figuring it out, as greping for 6ba shows nothing relevant.
Only after conversion to dec (1722) one stumbles across the right exception.
So please consider adding it to the list.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2706
Mainly comprises support for allocating arrays of resources, and loading from them, for both SM1 and SM4.
--
v4: vkd3d-shader/hlsl: Support resource arrays when writting SM4.
vkd3d-shader/hlsl: Write resource loads in SM1.
vkd3d-shader/hlsl: Write sampler declarations in SM1.
vkd3d-shader/hlsl: Track objects sampling dimension.
vkd3d-shader/hlsl: Track object components usage and allocate registers accordingly.
tests: Test objects as parameters.
vkd3d-shader/hlsl: Skip object components when creating input/output copies.
vkd3d-shader/hlsl: Add fixme for uniform copies for objects within structs.
vkd3d-shader/hlsl: Support multiple-register variables in object regsets.
tests: Add additional texture array register reservation tests.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/159
This should finally fix the ref leaks that keep all gecko nsDocuments alive even on the most basic docs.
--
v5: mshtml/tests: Fix element leak in elem_fire_event.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml: Fix nsChannel's load_info leak.
mshtml: Support cycle collection for nsChannel.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix factory leak in init_nsio.
mshtml: Do not release the principal returned by GetPrincipal.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2691
This should finally fix the ref leaks that keep all gecko nsDocuments alive even on the most basic docs.
--
v4: mshtml/tests: Fix element leak in elem_fire_event.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml: Fix nsChannel's load_info leak.
mshtml: Support cycle collection for nsChannel.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix factory leak in init_nsio.
mshtml: Do not release the principal returned by GetPrincipal.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2691
This should finally fix the ref leaks that keep all gecko nsDocuments alive even on the most basic docs.
--
v3: mshtml/tests: Fix element leak in elem_fire_event.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml: Fix nsChannel's load_info leak.
mshtml: Support cycle collection for nsChannel.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix factory leak in init_nsio.
mshtml: Do not release the principal returned by GetPrincipal.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2691
Nikolay Sivov (@nsivov) commented about include/shtypes.idl:
> SCALE_450_PERCENT = 450,
> SCALE_500_PERCENT = 500
> } DEVICE_SCALE_FACTOR;
> +
> +typedef [v1_enum] enum tagSFBS_FLAGS {
> + SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT = 0x0001,
> + SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS = 0x0002
> +} SFBS_FLAGS;
I don't see this in current SDK, it's not defined in an idl.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2609#note_31102
Nikolay Sivov (@nsivov) commented about dlls/shlwapi/string.c:
> + {
> + case SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT:
> + dBytes = round(dBytes / bfFormats[i].dDivisor) / bfFormats[i].dNormaliser;
> + break;
> + case SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS:
> + dBytes = floor(dBytes / bfFormats[i].dDivisor) / bfFormats[i].dNormaliser;
> + break;
> + default:
> + return E_INVALIDARG;
> + }
>
> + /* Not sure about the error code. Can't find a way to trigger the error here */
> if (!FormatDouble(dBytes, bfFormats[i].nDecimals, lpszDest, cchMax))
> - return NULL;
> + return E_UNEXPECTED;
> +
E_FAIL is probably more generic. Also comment is not really needed here. I'd also remove documentation comments before function declaration, leaving just function name there.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2609#note_31101