Unlike previous vkd3d-utils interfaces, ID3D12ShaderReflection is rather more
large and complex, and will probably end up needing several new individual
scan interfaces from vkd3d-shader, which are themselves not exactly trivial to
design.
Therefore, instead of implementing everything in vkd3d-shader and then hooking
up the vkd3d-utils interfaces on top of that, this patch series copies the
existing implementation of reflection and then begins the process of moving its
implementation to vkd3d-shader.
The primary motivation here is to add reflection crosstests (primarily for the
benefit of the HLSL compiler) without being blocked on API design. Part 2 of
this patch series does this.
--
v6: tests: Test signature reflection via D3DReflect().
tests: Test VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES.
vkd3d-utils: Implement input and output signature reflection.
vkd3d-utils: Add D3DReflect().
include: Add vkd3d_d3d12shader.idl.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/561
> Isn't the solution there for Wine to be printing vkd3d-shader errors as ERR? I thought I remembered a discussion specifically about this before.
Yes. My plan is essentially to wait for DXIL development to settle down a bit, and then do some cleanup to do just that, although I'd use WARN instead of ERR/FIXME. (I.e., errors in the input shader are generally not errors in vkd3d-shader.)
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/546#note_58655
Esme Povirk (@madewokherd) commented about dlls/gdiplus/tests/image.c:
> stat = pGdipCreateEffect(BlurEffectGuid, NULL);
> expect(InvalidParameter, stat);
>
> + stat = pGdipGetEffectParameterSize(NULL, NULL);
> + expect(InvalidParameter, stat);
> +
> + stat = pGdipGetEffectParameterSize(effect, NULL);
`effect` is NULL here, so this test is redundant.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4661#note_58652
Currently there is `NtContinue()` test only for `aarch64` so implement it for amd64 aswell.
This implementation is very similar to `aarch64` and it's very basic test.
It doesn't change/test `ContextFlags` so it won't catch https://bugs.winehq.org/show_bug.cgi?id=56050 but that can be implemented later on top of this.
--
v11: ntdll/tests: Implement test_continue() for amd64
https://gitlab.winehq.org/wine/wine/-/merge_requests/4720
This MR implements `NtContinueEx(PCONTEXT, PCONTINUE_OPTIONS)` which was added in Windows 10 20H1.
Also added basic test reusing existing `test_continue()` (included from !4720)
League of Legends game hooks `NtContinue()` and `NtContinueEx()` by putting `jmp` instruction in front of it.
Note that LoL doesn't actually use `NtContinueEx()` itself and game will work fine without it but if game doesn't find `NtContinueEx()` it will permanently ban your account due to detecting "scripting program"
--
v4: ntdll/tests: Add basic test for NtContinueEx()
ntdll: NtContinueEx() handle few error cases
ntdll: Implement NtContinueEx()
ntdll/tests: Implement test_continue() for amd64
https://gitlab.winehq.org/wine/wine/-/merge_requests/4761
Since they're asm functions they conflict when building with LTO (among other things). This is normally hidden when separating translation units, but it's still not correct.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4883