A mix of a miscellaneous fixes:
* Fixes to failed asserts I have stumbled upon when implementing other features.
* Checks required for properly supporting object components.
* A couple of code improvements.
--
v11: vkd3d-shader/hlsl: Use reg_size as component count when allocating a single register.
vkd3d-shader/hlsl: Use the base type of the array elements in write_sm1_type().
vkd3d-shader/hlsl: Validate that statics don't contain both resources and numerics.
vkd3d-shader/hlsl: Validate that extern structs don't contain objects SM < 5.
vkd3d-shader/hlsl: Don't allocate object types as constant registers.
vkd3d-shader/hlsl: Properly free new store node memory if init_deref() fails.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/42
Various notes:
- LowestStartingAddress is still unsupported;
- Patch 5 ("wow64: Set HighestEndingAddress in wow64_NtAllocateVirtualMemoryEx() if it is absent") is fixing existing WOW issue: NtAllocateVirtualMemoryEx() called from wow64 currently does not constraing the allocation to 32 bit address space (wow64_NtAllocateVirtualMemory() passes zero_bits for that).
- I initially thought of using a single inter process APC but added a different one due to zero_bits handling which is easier to convert in the target process.
--
v5: wow64: Set HighestEndingAddress in wow64_NtAllocateVirtualMemoryEx() if it is absent.
wow64: Support MEM_ADDRESS_REQUIREMENTS in wow64_NtAllocateVirtualMemoryEx().
ntdll/tests: Add tests for memory address requiements.
ntdll: Support HighestEndingAddress in NtAllocateVirtualMemoryEx().
ntdll: Factor out allocate_virtual_memory().
ntdll: Pass limit instead of zero_bits to map_view().
https://gitlab.winehq.org/wine/wine/-/merge_requests/1025