This change only implements case-sensitivity of technique keywords and related checks when corresponding profile is used. My immediate plan is to add some synthetic type for technique variables, for example as {object, void}, then add named techniques as variables. This is useful because these names are participating in global scope, and should not collide with normal variables. After that "pass_list" will be split, at least in two variants because of how much d3d9 syntax differs. Some trivial changes will be need later to have some top level fx compilation helper that considers only fx objects and calls ps/vs/gs compiler to create inner shader blobs on same original source.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/111
On Windows RegEnumValueA() is buggy such that when the value name
buffer is too small, it may way overestimate the required data buffer
size, sometimes returning more than the sufficiently large buffer it was
provided, in which case that buffer is untouched and thus not
NUL-terminated.
So modify the tests to accept this broken result and avoid checking
out-of-bounds data.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53172
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2324
Return directly in case of success so exiting the loop only happens in
case of error.
Better identify which statements prepare the next attempt / set things
up in case the table allocation failed.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2312
These were docmented in [1] (with the user-facing name of the opcode
adjusted later in [2]).
Since MSVC 2022, the precompiled runtimes (both runtimes such as
vcruntime140*.dll and the statically linked code from e.g. libcmt.lib)
are built with pointer authentication enabled.
To correctly handle unwinding through such functions, even on HW that
don't support the pointer authentication mechanism itself, wine needs
to at least be aware of it (for handling the cases with packed unwind
info with CR==2 simiarly to CR==3).
This patch has been tested on Linux on HW supporting pointer
authentication too, with binaries built with MSVC.
[1] https://github.com/MicrosoftDocs/cpp-docs/commit/f510c83085d9764b3c7b522219…
[2] https://github.com/MicrosoftDocs/cpp-docs/commit/cac237d3f370a06b71f6c314a6…
--
v2: ntdll: Handle aarch64 pointer authentication in unwind info
https://gitlab.winehq.org/wine/wine/-/merge_requests/2320
These were docmented in [1] (with the user-facing name of the opcode
adjusted later in [2]).
Since MSVC 2022, the precompiled runtimes (both runtimes such as
vcruntime140*.dll and the statically linked code from e.g. libcmt.lib)
are built with pointer authentication enabled.
To correctly handle unwinding through such functions, even on HW that
don't support the pointer authentication mechanism itself, wine needs
to at least be aware of it (for handling the cases with packed unwind
info with CR==2 simiarly to CR==3).
This patch has been tested on Linux on HW supporting pointer
authentication too, with binaries built with MSVC.
[1] https://github.com/MicrosoftDocs/cpp-docs/commit/f510c83085d9764b3c7b522219…
[2] https://github.com/MicrosoftDocs/cpp-docs/commit/cac237d3f370a06b71f6c314a6…
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2320