Commit graph

416 commits

Author SHA1 Message Date
Jacek Caban c4f46feffc winevulkan: Use UNIX_CALL macro for Unix calls. 2022-12-05 20:04:53 +01:00
Jacek Caban 2f41d85118 winevulkan: Get rid of direct Unix calls. 2022-12-05 20:04:53 +01:00
Jacek Caban 2084f8bc10 winevulkan: Use VK_EXT_external_memory_host extension to map memory on wow64. 2022-12-01 20:36:05 +01:00
Jacek Caban bbdad7474a winevulkan: Wrap VkDeviceMemory. 2022-12-01 20:36:04 +01:00
Jacek Caban 60085e4687 winevulkan: Don't try to unwrap missing optional handle struct members. 2022-12-01 20:36:04 +01:00
Jacek Caban feab1634ee winevulkan: Fix handling pointers to pointer-size variables in 32-bit thunks. 2022-12-01 20:36:04 +01:00
Alexandre Julliard 90adeb125f ntdll: Export the Unix call dispatcher function pointer. 2022-12-01 11:38:23 +01:00
Alexandre Julliard 7c0b3a408c winecrt0: Call __wine_unix_call through an explicit pointer in the helper macro. 2022-11-25 10:31:00 +01:00
Alexandre Julliard 006eae345b winevulkan: Use the Unix call helpers. 2022-11-25 10:19:43 +01:00
Jacek Caban 274a9db57a winevulkan: Don't try to convert unions without selectors. 2022-11-25 10:02:08 +01:00
Georg Lehmann 8ef4a31116 winevulkan: Update to VK spec version 1.3.235. 2022-11-22 21:51:25 +01:00
Georg Lehmann 3759dbd645 winevulkan: Convert unions when nessecary. 2022-11-22 21:51:25 +01:00
Jacek Caban 87a3357900 winevulkan: Return error if vkMapMemory would truncate pointer on wow64. 2022-11-18 17:33:49 +01:00
Jacek Caban 1396f04f02 winevulkan: Never copy pNext pointer in 32-bit struct conversion functions. 2022-11-18 17:33:49 +01:00
Jacek Caban 5135cabb02 winevulkan: Add __wine_unix_call_wow64_funcs support. 2022-11-18 17:33:49 +01:00
Jacek Caban eb062df5ba winevulkan: Use separated implementations for all 32-bit Unix calls. 2022-11-18 17:33:49 +01:00
Jacek Caban 46f84ea226 winevulkan: Always convert 32-bit pointer arrays. 2022-11-18 17:33:49 +01:00
Jacek Caban 3eccac388d winevulkan: Use PTR32 for pointer-size variables in 32-bit structs. 2022-11-18 17:33:49 +01:00
Jacek Caban 3a5155a9d1 winevulkan: Introduce find_next_struct32. 2022-11-18 17:33:49 +01:00
Jacek Caban 2ad6d865d1 winevulkan: Convert dispatchable handle array struct members. 2022-11-17 16:35:54 +01:00
Jacek Caban a8539fc979 winevulkan: Convert pointers to pointer-sized variables in 32-bit thunks. 2022-11-17 16:35:53 +01:00
Jacek Caban 3ceae1dcaf winevulkan: Convert dispatchable handle arrays in 32-bit thunks. 2022-11-17 16:35:53 +01:00
Jacek Caban 89310c035d winevulkan: Convert all 32-bit structs containing pointer or pointer-size members. 2022-11-17 16:35:53 +01:00
Jacek Caban af2f0c790b winevulkan: Convert all 32-bit structs containing pNext pointer. 2022-11-17 16:35:53 +01:00
Jacek Caban daf1883b14 winevulkan: Align conversion_context_alloc result. 2022-11-17 16:35:53 +01:00
Alexandros Frantzis ad7945eb41 winevulkan: Generate "in_ext" definition on demand.
There are cases in StructConversionFunction.definition where we will
generate copy code for extension struct members, without emitting the
definition of "in_ext" variable used in the copy code.

This issue is triggered by mismatches in the condition that guards the
generation of the "in_ext" definitions, and the condition(s) that govern
the generation of the member copy code (e.g., in
StructConversionFunction.member_needs_copy and
VkMember.needs_conversion).

In order to avoid such mismatches and the burden of having to keep the
conditions in sync, this commit generates the definition on demand, by
checking if it's actually needed by the member copy code.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2022-11-16 21:24:19 +01:00
Jacek Caban 85f9960147 winevulkan: Move need for output member copy check to needs_conversion. 2022-11-14 17:32:59 +01:00
Jacek Caban 1e3d0c863c winevulkan: Don't try to convert ignored VkWriteDescriptorSet members.
Fixes crash in wined3d_unordered_access_view_vk_clear().
2022-11-14 17:32:55 +01:00
Jacek Caban 866c7de65f winevulkan: Don't generate private thunk prototypes for PE-only functions. 2022-11-11 17:01:38 +01:00
Jacek Caban ee4c61a1b5 winevulkan: Move needs_unwrapping implementation to VkVariable. 2022-11-11 17:01:36 +01:00
Jacek Caban a2dc7a4ad0 winevulkan: Remove no longer used make_vulkan functions. 2022-11-11 17:01:33 +01:00
Georg Lehmann 82182a11af winevulkan: Fix handling enums in needs_alignment. 2022-11-11 11:15:50 +01:00
Georg Lehmann 0a2bffa74a winevulkan: Fix handling bitmasks in needs_alignment. 2022-11-11 11:14:35 +01:00
Jacek Caban ef25dd2446 winevulkan: Get rid of *_host types.
Use WINE_VK_HOST instead.
2022-11-10 22:00:35 +01:00
Jacek Caban 0b50354930 winevulkan: Use local structs declarations for 32-bit conversion functions. 2022-11-10 22:00:35 +01:00
Jacek Caban c479ffcd5d winevulkan: Fix host aliases declaration. 2022-11-10 22:00:35 +01:00
Jacek Caban ab36f7d5ed winevulkan: Use local params struct declarations for 32-bit thunks. 2022-11-10 22:00:35 +01:00
Jacek Caban b88d373bfb winevulkan: Add support for pointer array conversion.
And use it for VkAccelerationStructureGeometryKHR.
2022-11-10 22:00:35 +01:00
Jacek Caban 99a0d58dfd winevulkan: Preserve const in array conversion output types. 2022-11-10 22:00:34 +01:00
Jacek Caban 8463c4f123 winevulkan: Fix handling unions in needs_alignment(). 2022-11-10 22:00:34 +01:00
Jacek Caban 19a23b7838 winevulkan: Support conversion of optional parameters. 2022-11-10 22:00:34 +01:00
Jacek Caban 923aa288aa winevulkan: Use generated thunks for VkPipelineCreationFeedback conversion. 2022-11-09 21:23:48 +01:00
Jacek Caban 9ff9f81855 winevulkan: Convert struct chain conversions for all structs that need it. 2022-11-09 21:23:47 +01:00
Jacek Caban 4c0ec72127 winevulkan: Use const types in conversion function declarations. 2022-11-09 21:23:47 +01:00
Jacek Caban edbb9eced2 winevulkan: Use generated thunks for vkGetImageSparseMemoryRequirements(2) conversion. 2022-11-09 21:23:47 +01:00
Jacek Caban 95d83f019d winevulkan: Support pointer dynamic array lengths. 2022-11-09 21:23:47 +01:00
Jacek Caban 8047c230db winevulkan: Store parent in VkVariable. 2022-11-09 21:23:47 +01:00
Jacek Caban 52ae9be12a winevulkan: Always fill output in fill_luid_property. 2022-11-09 21:23:47 +01:00
Jacek Caban f3bf30688c winevulkan: Support output dynamic array conversion. 2022-11-07 21:16:10 +01:00
Jacek Caban 121ca10f5d winevulkan: Avoid unneeded copies in struct conversion functions. 2022-11-07 21:16:10 +01:00