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