The partial free is not supported from VirtualFree (we have a test for that) but NtFreeVirtualMemory supports it.
The primary motivation behind these patches is the preparation for VM placeholders support. With those flags (MEM_RESERVE_PLACEHOLDER, MEM_PRESERVE_PLACEHOLDER, MEM_REPLACE_PLACEHOLDER and MEM_COALESCE_PLACEHOLDERS) views might be arbitrary split or joined with just page alignment.
--
v2: ntdll: Add logging for free ranges.
ntdll: Support partial view release in NtFreeVirtualMemory().
ntdll: Factor out some view manipulation functions.
ntdll: Fully support unaligned views in free ranges management.
ntdll: Fix size validation in NtFreeVirtualMemory().
kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx().
ntdll/tests: Add tests for freeing a part of view.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1339
--
v4: tests: Add a test for SampleBias() with multiple mipmap levels.
tests: Add a test for sampling from nonzero mipmap levels.
tests: Add a test for loading from nonzero mipmap levels.
tests/shader_runner: Add support for creating mipmapped textures.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/191
Mainly comprises support for allocating arrays of resources, and loading from them, for both SM1 and SM4.
--
v13: vkd3d-shader/hlsl: Introduce hlsl_calloc().
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