Shader Model 6 introduces a 16-bit float (half) type, and 16-bit and 64-bit integer types. Storing extra info in the type enum simplifies checking if a type is any integer, floating point or numeric type, and the declaration of SPIR-V types. The benefits depend on using enum vkd3d_data_type in the backend instead of vkd3d_shader_component_type.
Patch 2 is difficult to split because types typically flow through to vkd3d_spirv_get_type_id(), so partial changes would require new calls to conversion functions which would be deleted again later.
--
v5: vkd3d-shader/spirv: Use enum vkd3d_data_type instead of vkd3d_shader_component_type.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/263
--
v12: tests/d3d12: Test multiple clip distance inputs in test_clip_distance().
tests/d3d12: Use five clip distances for the multiple test in test_clip_distance().
vkd3d-shader/ir: Transform clip/cull outputs and patch constants into arrays.
vkd3d-shader/ir: Transform clip/cull inputs into an array.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/564
On Tue Jan 23 19:25:36 2024 +0000, Alexandre Julliard wrote:
> > It looks like before Vista it returned `STATUS_SUCCESS` which is
> current Wine implementation, but since Vista it started to return
> `STATUS_INFO_LENGTH_MISMATCH` instead
> Is there an actual app that depends on this?
We didn't know so we just tried this but in the end it didn't make any difference.
So no I don't know any such app. And it's such an edge case that I guess only way for it to matter is if someone compares `GetVersion()` with result (eg. to detect poor sandbox etc) but that seems incredibly unlikely and there's probably hundreds of other functions to compare aswell.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4834#note_58735
This was broken by commit a1830c03a50ad38ec3f857a2a8b88498d1bf5e54 ("ntdll: Add a separate helper to build the main module on Wow64."). `init_wow64()` is called on thread creation, and each new thread was re-creating the main module and `ntdll`. `+relay` seemed to be the only functionality broken by this.
That commit also made a helper which calls `NtQueryVirtualMemory(LdrInitializeThunk,MemoryBasicInformation)`, but didn't remove the original call.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4924