Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
0a2bffa7
Commit
0a2bffa7
authored
Nov 10, 2022
by
Georg Lehmann
Committed by
Alexandre Julliard
Nov 11, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winevulkan: Fix handling bitmasks in needs_alignment.
parent
e05a8697
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
514 additions
and
51 deletions
+514
-51
loader_thunks.h
dlls/winevulkan/loader_thunks.h
+5
-5
make_vulkan
dlls/winevulkan/make_vulkan
+5
-0
vulkan_thunks.c
dlls/winevulkan/vulkan_thunks.c
+484
-26
vulkan.h
include/wine/vulkan.h
+20
-20
No files found.
dlls/winevulkan/loader_thunks.h
View file @
0a2bffa7
...
...
@@ -1557,14 +1557,14 @@ struct vkCmdResetEvent2_params
{
VkCommandBuffer
commandBuffer
;
VkEvent
DECLSPEC_ALIGN
(
8
)
event
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stageMask
;
};
struct
vkCmdResetEvent2KHR_params
{
VkCommandBuffer
commandBuffer
;
VkEvent
DECLSPEC_ALIGN
(
8
)
event
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stageMask
;
};
struct
vkCmdResetQueryPool_params
...
...
@@ -2316,7 +2316,7 @@ struct vkCmdWriteAccelerationStructuresPropertiesNV_params
struct
vkCmdWriteBufferMarker2AMD_params
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkBuffer
DECLSPEC_ALIGN
(
8
)
dstBuffer
;
VkDeviceSize
DECLSPEC_ALIGN
(
8
)
dstOffset
;
uint32_t
marker
;
...
...
@@ -2352,7 +2352,7 @@ struct vkCmdWriteTimestamp_params
struct
vkCmdWriteTimestamp2_params
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkQueryPool
DECLSPEC_ALIGN
(
8
)
queryPool
;
uint32_t
query
;
};
...
...
@@ -2360,7 +2360,7 @@ struct vkCmdWriteTimestamp2_params
struct
vkCmdWriteTimestamp2KHR_params
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkQueryPool
DECLSPEC_ALIGN
(
8
)
queryPool
;
uint32_t
query
;
};
...
...
dlls/winevulkan/make_vulkan
View file @
0a2bffa7
...
...
@@ -1165,6 +1165,9 @@ class VkVariable(object):
def
is_union
(
self
):
return
self
.
type_info
[
"category"
]
==
"union"
def
is_bitmask
(
self
):
return
self
.
type_info
[
"category"
]
==
"bitmask"
def
is_dynamic_array
(
self
):
""" Returns if the member is an array element.
Vulkan uses this for dynamically sized arrays for which
...
...
@@ -1197,6 +1200,8 @@ class VkVariable(object):
return
False
elif
self
.
type
in
[
"uint64_t"
,
"VkDeviceAddress"
,
"VkDeviceSize"
]:
return
True
elif
self
.
is_bitmask
():
return
self
.
type_info
[
"data"
]
.
type
==
"VkFlags64"
elif
self
.
is_struct
()
or
self
.
is_union
():
return
self
.
type_info
[
"data"
]
.
needs_alignment
()
elif
self
.
is_handle
():
...
...
dlls/winevulkan/vulkan_thunks.c
View file @
0a2bffa7
...
...
@@ -493,7 +493,7 @@ typedef struct VkDecompressMemoryRegionNV32
VkDeviceAddress
DECLSPEC_ALIGN
(
8
)
dstAddress
;
VkDeviceSize
DECLSPEC_ALIGN
(
8
)
compressedSize
;
VkDeviceSize
DECLSPEC_ALIGN
(
8
)
decompressedSize
;
VkMemoryDecompressionMethodFlagsNV
decompressionMethod
;
VkMemoryDecompressionMethodFlagsNV
DECLSPEC_ALIGN
(
8
)
decompressionMethod
;
}
VkDecompressMemoryRegionNV32
;
typedef
struct
VkIndirectCommandsStreamNV32
...
...
@@ -548,14 +548,25 @@ typedef struct VkImageMemoryBarrier32
VkImageSubresourceRange
subresourceRange
;
}
VkImageMemoryBarrier32
;
typedef
struct
VkMemoryBarrier232
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
dstAccessMask
;
}
VkMemoryBarrier232
;
typedef
VkMemoryBarrier232
VkMemoryBarrier2KHR32
;
typedef
struct
VkBufferMemoryBarrier232
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
srcStageMask
;
VkAccessFlags2
srcAccessMask
;
VkPipelineStageFlags2
dstStageMask
;
VkAccessFlags2
dstAccessMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
dstAccessMask
;
uint32_t
srcQueueFamilyIndex
;
uint32_t
dstQueueFamilyIndex
;
VkBuffer
DECLSPEC_ALIGN
(
8
)
buffer
;
...
...
@@ -568,10 +579,10 @@ typedef struct VkImageMemoryBarrier232
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
srcStageMask
;
VkAccessFlags2
srcAccessMask
;
VkPipelineStageFlags2
dstStageMask
;
VkAccessFlags2
dstAccessMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
DECLSPEC_ALIGN
(
8
)
dstAccessMask
;
VkImageLayout
oldLayout
;
VkImageLayout
newLayout
;
uint32_t
srcQueueFamilyIndex
;
...
...
@@ -587,7 +598,7 @@ typedef struct VkDependencyInfo32
const
void
*
pNext
;
VkDependencyFlags
dependencyFlags
;
uint32_t
memoryBarrierCount
;
const
VkMemoryBarrier2
*
pMemoryBarriers
;
const
VkMemoryBarrier2
32
*
pMemoryBarriers
;
uint32_t
bufferMemoryBarrierCount
;
const
VkBufferMemoryBarrier232
*
pBufferMemoryBarriers
;
uint32_t
imageMemoryBarrierCount
;
...
...
@@ -1227,6 +1238,16 @@ typedef struct VkPerformanceValueINTEL32
VkPerformanceValueDataINTEL
DECLSPEC_ALIGN
(
8
)
data
;
}
VkPerformanceValueINTEL32
;
typedef
struct
VkFormatProperties332
{
VkStructureType
sType
;
void
*
pNext
;
VkFormatFeatureFlags2
DECLSPEC_ALIGN
(
8
)
linearTilingFeatures
;
VkFormatFeatureFlags2
DECLSPEC_ALIGN
(
8
)
optimalTilingFeatures
;
VkFormatFeatureFlags2
DECLSPEC_ALIGN
(
8
)
bufferFeatures
;
}
VkFormatProperties332
;
typedef
VkFormatProperties332
VkFormatProperties3KHR32
;
typedef
struct
VkImageFormatProperties32
{
VkExtent3D
maxExtent
;
...
...
@@ -1449,7 +1470,7 @@ typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV32
{
VkStructureType
sType
;
void
*
pNext
;
VkMemoryDecompressionMethodFlagsNV
decompressionMethods
;
VkMemoryDecompressionMethodFlagsNV
DECLSPEC_ALIGN
(
8
)
decompressionMethods
;
uint64_t
DECLSPEC_ALIGN
(
8
)
maxDecompressionIndirectCount
;
}
VkPhysicalDeviceMemoryDecompressionPropertiesNV32
;
...
...
@@ -1647,6 +1668,13 @@ typedef struct VkPhysicalDeviceProperties232
}
VkPhysicalDeviceProperties232
;
typedef
VkPhysicalDeviceProperties232
VkPhysicalDeviceProperties2KHR32
;
typedef
struct
VkQueueFamilyCheckpointProperties2NV32
{
VkStructureType
sType
;
void
*
pNext
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
checkpointExecutionStageMask
;
}
VkQueueFamilyCheckpointProperties2NV32
;
typedef
struct
VkPhysicalDeviceSurfaceInfo2KHR32
{
VkStructureType
sType
;
...
...
@@ -1681,6 +1709,14 @@ typedef struct VkPipelineExecutableStatisticKHR32
}
VkPipelineExecutableStatisticKHR32
;
typedef
struct
VkCheckpointData2NV32
{
VkStructureType
sType
;
void
*
pNext
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
void
*
pCheckpointMarker
;
}
VkCheckpointData2NV32
;
typedef
struct
VkSparseMemoryBind32
{
VkDeviceSize
DECLSPEC_ALIGN
(
8
)
resourceOffset
;
...
...
@@ -1743,7 +1779,7 @@ typedef struct VkSemaphoreSubmitInfo32
const
void
*
pNext
;
VkSemaphore
DECLSPEC_ALIGN
(
8
)
semaphore
;
uint64_t
DECLSPEC_ALIGN
(
8
)
value
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stageMask
;
uint32_t
deviceIndex
;
}
VkSemaphoreSubmitInfo32
;
typedef
VkSemaphoreSubmitInfo32
VkSemaphoreSubmitInfoKHR32
;
...
...
@@ -3098,6 +3134,38 @@ static inline const VkImageMemoryBarrier *convert_VkImageMemoryBarrier_array_win
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkMemoryBarrier2_win32_to_host
(
const
VkMemoryBarrier232
*
in
,
VkMemoryBarrier2
*
out
)
{
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
in
->
pNext
;
out
->
srcStageMask
=
in
->
srcStageMask
;
out
->
srcAccessMask
=
in
->
srcAccessMask
;
out
->
dstStageMask
=
in
->
dstStageMask
;
out
->
dstAccessMask
=
in
->
dstAccessMask
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
const
VkMemoryBarrier2
*
convert_VkMemoryBarrier2_array_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkMemoryBarrier232
*
in
,
uint32_t
count
)
{
VkMemoryBarrier2
*
out
;
unsigned
int
i
;
if
(
!
in
||
!
count
)
return
NULL
;
out
=
conversion_context_alloc
(
ctx
,
count
*
sizeof
(
*
out
));
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkMemoryBarrier2_win32_to_host
(
&
in
[
i
],
&
out
[
i
]);
}
return
out
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkBufferMemoryBarrier2_win32_to_host
(
const
VkBufferMemoryBarrier232
*
in
,
VkBufferMemoryBarrier2
*
out
)
{
if
(
!
in
)
return
;
...
...
@@ -3181,7 +3249,7 @@ static inline void convert_VkDependencyInfo_win32_to_host(struct conversion_cont
out
->
pNext
=
in
->
pNext
;
out
->
dependencyFlags
=
in
->
dependencyFlags
;
out
->
memoryBarrierCount
=
in
->
memoryBarrierCount
;
out
->
pMemoryBarriers
=
in
->
pMemoryBarriers
;
out
->
pMemoryBarriers
=
convert_VkMemoryBarrier2_array_win32_to_host
(
ctx
,
in
->
pMemoryBarriers
,
in
->
memoryBarrierCount
)
;
out
->
bufferMemoryBarrierCount
=
in
->
bufferMemoryBarrierCount
;
out
->
pBufferMemoryBarriers
=
convert_VkBufferMemoryBarrier2_array_win32_to_host
(
ctx
,
in
->
pBufferMemoryBarriers
,
in
->
bufferMemoryBarrierCount
);
out
->
imageMemoryBarrierCount
=
in
->
imageMemoryBarrierCount
;
...
...
@@ -8938,6 +9006,88 @@ static inline void convert_VkRayTracingPipelineCreateInfoNV_array_host_to_win32(
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkSubpassDependency2_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkSubpassDependency2
*
in
,
VkSubpassDependency2
*
out
)
{
const
VkBaseInStructure
*
in_header
;
VkBaseOutStructure
*
out_header
=
(
void
*
)
out
;
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
NULL
;
out
->
srcSubpass
=
in
->
srcSubpass
;
out
->
dstSubpass
=
in
->
dstSubpass
;
out
->
srcStageMask
=
in
->
srcStageMask
;
out
->
dstStageMask
=
in
->
dstStageMask
;
out
->
srcAccessMask
=
in
->
srcAccessMask
;
out
->
dstAccessMask
=
in
->
dstAccessMask
;
out
->
dependencyFlags
=
in
->
dependencyFlags
;
out
->
viewOffset
=
in
->
viewOffset
;
for
(
in_header
=
in
->
pNext
;
in_header
;
in_header
=
in_header
->
pNext
)
{
switch
(
in_header
->
sType
)
{
case
VK_STRUCTURE_TYPE_MEMORY_BARRIER_2
:
{
VkMemoryBarrier2
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
const
VkMemoryBarrier232
*
in_ext
=
(
const
VkMemoryBarrier232
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_MEMORY_BARRIER_2
;
out_ext
->
pNext
=
NULL
;
out_ext
->
srcStageMask
=
in_ext
->
srcStageMask
;
out_ext
->
srcAccessMask
=
in_ext
->
srcAccessMask
;
out_ext
->
dstStageMask
=
in_ext
->
dstStageMask
;
out_ext
->
dstAccessMask
=
in_ext
->
dstAccessMask
;
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
default:
FIXME
(
"Unhandled sType %u."
,
in_header
->
sType
);
break
;
}
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
const
VkSubpassDependency2
*
convert_VkSubpassDependency2_array_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkSubpassDependency2
*
in
,
uint32_t
count
)
{
VkSubpassDependency2
*
out
;
unsigned
int
i
;
if
(
!
in
||
!
count
)
return
NULL
;
out
=
conversion_context_alloc
(
ctx
,
count
*
sizeof
(
*
out
));
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkSubpassDependency2_win32_to_host
(
ctx
,
&
in
[
i
],
&
out
[
i
]);
}
return
out
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkRenderPassCreateInfo2_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkRenderPassCreateInfo2
*
in
,
VkRenderPassCreateInfo2
*
out
)
{
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
in
->
pNext
;
out
->
flags
=
in
->
flags
;
out
->
attachmentCount
=
in
->
attachmentCount
;
out
->
pAttachments
=
in
->
pAttachments
;
out
->
subpassCount
=
in
->
subpassCount
;
out
->
pSubpasses
=
in
->
pSubpasses
;
out
->
dependencyCount
=
in
->
dependencyCount
;
out
->
pDependencies
=
convert_VkSubpassDependency2_array_win32_to_host
(
ctx
,
in
->
pDependencies
,
in
->
dependencyCount
);
out
->
correlatedViewMaskCount
=
in
->
correlatedViewMaskCount
;
out
->
pCorrelatedViewMasks
=
in
->
pCorrelatedViewMasks
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkSamplerCreateInfo_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkSamplerCreateInfo
*
in
,
VkSamplerCreateInfo
*
out
)
{
const
VkBaseInStructure
*
in_header
;
...
...
@@ -9863,6 +10013,88 @@ static inline void convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(s
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkFormatProperties2_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkFormatProperties2
*
in
,
VkFormatProperties2
*
out
)
{
const
VkBaseInStructure
*
in_header
;
VkBaseOutStructure
*
out_header
=
(
void
*
)
out
;
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
NULL
;
for
(
in_header
=
in
->
pNext
;
in_header
;
in_header
=
in_header
->
pNext
)
{
switch
(
in_header
->
sType
)
{
case
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
:
{
VkSubpassResolvePerformanceQueryEXT
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
out_ext
->
sType
=
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
;
out_ext
->
pNext
=
NULL
;
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
:
{
VkFormatProperties3
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
out_ext
->
sType
=
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
;
out_ext
->
pNext
=
NULL
;
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
default:
FIXME
(
"Unhandled sType %u."
,
in_header
->
sType
);
break
;
}
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkFormatProperties2_host_to_win32
(
const
VkFormatProperties2
*
in
,
VkFormatProperties2
*
out
)
{
const
VkBaseInStructure
*
in_header
;
VkBaseOutStructure
*
out_header
=
(
void
*
)
out
;
if
(
!
in
)
return
;
out
->
formatProperties
=
in
->
formatProperties
;
for
(
in_header
=
in
->
pNext
;
in_header
;
in_header
=
in_header
->
pNext
)
{
switch
(
in_header
->
sType
)
{
case
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
:
{
VkSubpassResolvePerformanceQueryEXT
*
out_ext
=
find_next_struct
(
out_header
,
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
);
const
VkSubpassResolvePerformanceQueryEXT
*
in_ext
=
(
const
VkSubpassResolvePerformanceQueryEXT
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
;
out_ext
->
optimal
=
in_ext
->
optimal
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
:
{
VkFormatProperties332
*
out_ext
=
find_next_struct
(
out_header
,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
);
const
VkFormatProperties3
*
in_ext
=
(
const
VkFormatProperties3
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
;
out_ext
->
linearTilingFeatures
=
in_ext
->
linearTilingFeatures
;
out_ext
->
optimalTilingFeatures
=
in_ext
->
optimalTilingFeatures
;
out_ext
->
bufferFeatures
=
in_ext
->
bufferFeatures
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
default:
break
;
}
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkImageFormatProperties_host_to_win32
(
const
VkImageFormatProperties
*
in
,
VkImageFormatProperties32
*
out
)
{
if
(
!
in
)
return
;
...
...
@@ -11688,6 +11920,140 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkQueueFamilyProperties2_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkQueueFamilyProperties2
*
in
,
VkQueueFamilyProperties2
*
out
)
{
const
VkBaseInStructure
*
in_header
;
VkBaseOutStructure
*
out_header
=
(
void
*
)
out
;
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
NULL
;
for
(
in_header
=
in
->
pNext
;
in_header
;
in_header
=
in_header
->
pNext
)
{
switch
(
in_header
->
sType
)
{
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
:
{
VkQueueFamilyGlobalPriorityPropertiesKHR
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
const
VkQueueFamilyGlobalPriorityPropertiesKHR
*
in_ext
=
(
const
VkQueueFamilyGlobalPriorityPropertiesKHR
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
;
out_ext
->
pNext
=
NULL
;
out_ext
->
priorityCount
=
in_ext
->
priorityCount
;
memcpy
(
out_ext
->
priorities
,
in_ext
->
priorities
,
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
*
sizeof
(
VkQueueGlobalPriorityKHR
));
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
:
{
VkQueueFamilyCheckpointPropertiesNV
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
;
out_ext
->
pNext
=
NULL
;
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
:
{
VkQueueFamilyCheckpointProperties2NV
*
out_ext
=
conversion_context_alloc
(
ctx
,
sizeof
(
*
out_ext
));
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
;
out_ext
->
pNext
=
NULL
;
out_header
->
pNext
=
(
void
*
)
out_ext
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
default:
FIXME
(
"Unhandled sType %u."
,
in_header
->
sType
);
break
;
}
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkQueueFamilyProperties2_host_to_win32
(
const
VkQueueFamilyProperties2
*
in
,
VkQueueFamilyProperties2
*
out
)
{
const
VkBaseInStructure
*
in_header
;
VkBaseOutStructure
*
out_header
=
(
void
*
)
out
;
if
(
!
in
)
return
;
out
->
queueFamilyProperties
=
in
->
queueFamilyProperties
;
for
(
in_header
=
in
->
pNext
;
in_header
;
in_header
=
in_header
->
pNext
)
{
switch
(
in_header
->
sType
)
{
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
:
{
VkQueueFamilyGlobalPriorityPropertiesKHR
*
out_ext
=
find_next_struct
(
out_header
,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
);
const
VkQueueFamilyGlobalPriorityPropertiesKHR
*
in_ext
=
(
const
VkQueueFamilyGlobalPriorityPropertiesKHR
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
;
out_ext
->
priorityCount
=
in_ext
->
priorityCount
;
memcpy
(
out_ext
->
priorities
,
in_ext
->
priorities
,
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
*
sizeof
(
VkQueueGlobalPriorityKHR
));
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
:
{
VkQueueFamilyCheckpointPropertiesNV
*
out_ext
=
find_next_struct
(
out_header
,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
);
const
VkQueueFamilyCheckpointPropertiesNV
*
in_ext
=
(
const
VkQueueFamilyCheckpointPropertiesNV
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
;
out_ext
->
checkpointExecutionStageMask
=
in_ext
->
checkpointExecutionStageMask
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
case
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
:
{
VkQueueFamilyCheckpointProperties2NV32
*
out_ext
=
find_next_struct
(
out_header
,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
);
const
VkQueueFamilyCheckpointProperties2NV
*
in_ext
=
(
const
VkQueueFamilyCheckpointProperties2NV
*
)
in_header
;
out_ext
->
sType
=
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
;
out_ext
->
checkpointExecutionStageMask
=
in_ext
->
checkpointExecutionStageMask
;
out_header
=
(
void
*
)
out_ext
;
break
;
}
default:
break
;
}
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
VkQueueFamilyProperties2
*
convert_VkQueueFamilyProperties2_array_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkQueueFamilyProperties2
*
in
,
uint32_t
count
)
{
VkQueueFamilyProperties2
*
out
;
unsigned
int
i
;
if
(
!
in
||
!
count
)
return
NULL
;
out
=
conversion_context_alloc
(
ctx
,
count
*
sizeof
(
*
out
));
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkQueueFamilyProperties2_win32_to_host
(
ctx
,
&
in
[
i
],
&
out
[
i
]);
}
return
out
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkQueueFamilyProperties2_array_host_to_win32
(
const
VkQueueFamilyProperties2
*
in
,
VkQueueFamilyProperties2
*
out
,
uint32_t
count
)
{
unsigned
int
i
;
if
(
!
in
)
return
;
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkQueueFamilyProperties2_host_to_win32
(
&
in
[
i
],
&
out
[
i
]);
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host
(
const
VkPhysicalDeviceSurfaceInfo2KHR32
*
in
,
VkPhysicalDeviceSurfaceInfo2KHR
*
out
)
{
if
(
!
in
)
return
;
...
...
@@ -11809,6 +12175,58 @@ static inline void convert_VkPipelineInfoEXT_win32_to_host(const VkPipelineInfoE
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkCheckpointData2NV_win32_to_host
(
const
VkCheckpointData2NV32
*
in
,
VkCheckpointData2NV
*
out
)
{
if
(
!
in
)
return
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
in
->
pNext
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkCheckpointData2NV_host_to_win32
(
const
VkCheckpointData2NV
*
in
,
VkCheckpointData2NV32
*
out
)
{
if
(
!
in
)
return
;
out
->
stage
=
in
->
stage
;
out
->
pCheckpointMarker
=
in
->
pCheckpointMarker
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
VkCheckpointData2NV
*
convert_VkCheckpointData2NV_array_win32_to_host
(
struct
conversion_context
*
ctx
,
const
VkCheckpointData2NV32
*
in
,
uint32_t
count
)
{
VkCheckpointData2NV
*
out
;
unsigned
int
i
;
if
(
!
in
||
!
count
)
return
NULL
;
out
=
conversion_context_alloc
(
ctx
,
count
*
sizeof
(
*
out
));
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkCheckpointData2NV_win32_to_host
(
&
in
[
i
],
&
out
[
i
]);
}
return
out
;
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkCheckpointData2NV_array_host_to_win32
(
const
VkCheckpointData2NV
*
in
,
VkCheckpointData2NV32
*
out
,
uint32_t
count
)
{
unsigned
int
i
;
if
(
!
in
)
return
;
for
(
i
=
0
;
i
<
count
;
i
++
)
{
convert_VkCheckpointData2NV_host_to_win32
(
&
in
[
i
],
&
out
[
i
]);
}
}
#endif
/* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static
inline
void
convert_VkSparseMemoryBind_win32_to_host
(
const
VkSparseMemoryBind32
*
in
,
VkSparseMemoryBind
*
out
)
{
if
(
!
in
)
return
;
...
...
@@ -16677,7 +17095,7 @@ static NTSTATUS thunk32_vkCmdResetEvent2(void *args)
{
VkCommandBuffer
commandBuffer
;
VkEvent
DECLSPEC_ALIGN
(
8
)
event
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stageMask
;
}
*
params
=
args
;
TRACE
(
"%p, 0x%s, 0x%s
\n
"
,
params
->
commandBuffer
,
wine_dbgstr_longlong
(
params
->
event
),
wine_dbgstr_longlong
(
params
->
stageMask
));
...
...
@@ -16708,7 +17126,7 @@ static NTSTATUS thunk32_vkCmdResetEvent2KHR(void *args)
{
VkCommandBuffer
commandBuffer
;
VkEvent
DECLSPEC_ALIGN
(
8
)
event
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stageMask
;
}
*
params
=
args
;
TRACE
(
"%p, 0x%s, 0x%s
\n
"
,
params
->
commandBuffer
,
wine_dbgstr_longlong
(
params
->
event
),
wine_dbgstr_longlong
(
params
->
stageMask
));
...
...
@@ -20079,7 +20497,7 @@ static NTSTATUS thunk32_vkCmdWriteBufferMarker2AMD(void *args)
struct
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkBuffer
DECLSPEC_ALIGN
(
8
)
dstBuffer
;
VkDeviceSize
DECLSPEC_ALIGN
(
8
)
dstOffset
;
uint32_t
marker
;
...
...
@@ -20211,7 +20629,7 @@ static NTSTATUS thunk32_vkCmdWriteTimestamp2(void *args)
struct
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkQueryPool
DECLSPEC_ALIGN
(
8
)
queryPool
;
uint32_t
query
;
}
*
params
=
args
;
...
...
@@ -20243,7 +20661,7 @@ static NTSTATUS thunk32_vkCmdWriteTimestamp2KHR(void *args)
struct
{
VkCommandBuffer
commandBuffer
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
DECLSPEC_ALIGN
(
8
)
stage
;
VkQueryPool
DECLSPEC_ALIGN
(
8
)
queryPool
;
uint32_t
query
;
}
*
params
=
args
;
...
...
@@ -21751,10 +22169,15 @@ static NTSTATUS thunk32_vkCreateRenderPass2(void *args)
VkRenderPass
*
pRenderPass
;
VkResult
result
;
}
*
params
=
args
;
VkRenderPassCreateInfo2
pCreateInfo_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %p, %p, %p
\n
"
,
params
->
device
,
params
->
pCreateInfo
,
params
->
pAllocator
,
params
->
pRenderPass
);
params
->
result
=
wine_device_from_handle
(
params
->
device
)
->
funcs
.
p_vkCreateRenderPass2
(
wine_device_from_handle
(
params
->
device
)
->
device
,
params
->
pCreateInfo
,
NULL
,
params
->
pRenderPass
);
init_conversion_context
(
&
ctx
);
convert_VkRenderPassCreateInfo2_win32_to_host
(
&
ctx
,
params
->
pCreateInfo
,
&
pCreateInfo_host
);
params
->
result
=
wine_device_from_handle
(
params
->
device
)
->
funcs
.
p_vkCreateRenderPass2
(
wine_device_from_handle
(
params
->
device
)
->
device
,
&
pCreateInfo_host
,
NULL
,
params
->
pRenderPass
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -21784,10 +22207,15 @@ static NTSTATUS thunk32_vkCreateRenderPass2KHR(void *args)
VkRenderPass
*
pRenderPass
;
VkResult
result
;
}
*
params
=
args
;
VkRenderPassCreateInfo2
pCreateInfo_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %p, %p, %p
\n
"
,
params
->
device
,
params
->
pCreateInfo
,
params
->
pAllocator
,
params
->
pRenderPass
);
params
->
result
=
wine_device_from_handle
(
params
->
device
)
->
funcs
.
p_vkCreateRenderPass2KHR
(
wine_device_from_handle
(
params
->
device
)
->
device
,
params
->
pCreateInfo
,
NULL
,
params
->
pRenderPass
);
init_conversion_context
(
&
ctx
);
convert_VkRenderPassCreateInfo2_win32_to_host
(
&
ctx
,
params
->
pCreateInfo
,
&
pCreateInfo_host
);
params
->
result
=
wine_device_from_handle
(
params
->
device
)
->
funcs
.
p_vkCreateRenderPass2KHR
(
wine_device_from_handle
(
params
->
device
)
->
device
,
&
pCreateInfo_host
,
NULL
,
params
->
pRenderPass
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -26217,10 +26645,16 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceFormatProperties2(void *args)
VkFormat
format
;
VkFormatProperties2
*
pFormatProperties
;
}
*
params
=
args
;
VkFormatProperties2
pFormatProperties_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %#x, %p
\n
"
,
params
->
physicalDevice
,
params
->
format
,
params
->
pFormatProperties
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceFormatProperties2
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
format
,
params
->
pFormatProperties
);
init_conversion_context
(
&
ctx
);
convert_VkFormatProperties2_win32_to_host
(
&
ctx
,
params
->
pFormatProperties
,
&
pFormatProperties_host
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceFormatProperties2
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
format
,
&
pFormatProperties_host
);
convert_VkFormatProperties2_host_to_win32
(
&
pFormatProperties_host
,
params
->
pFormatProperties
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -26248,10 +26682,16 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceFormatProperties2KHR(void *args)
VkFormat
format
;
VkFormatProperties2
*
pFormatProperties
;
}
*
params
=
args
;
VkFormatProperties2
pFormatProperties_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %#x, %p
\n
"
,
params
->
physicalDevice
,
params
->
format
,
params
->
pFormatProperties
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceFormatProperties2KHR
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
format
,
params
->
pFormatProperties
);
init_conversion_context
(
&
ctx
);
convert_VkFormatProperties2_win32_to_host
(
&
ctx
,
params
->
pFormatProperties
,
&
pFormatProperties_host
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceFormatProperties2KHR
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
format
,
&
pFormatProperties_host
);
convert_VkFormatProperties2_host_to_win32
(
&
pFormatProperties_host
,
params
->
pFormatProperties
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -26786,10 +27226,16 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceQueueFamilyProperties2(void *args)
uint32_t
*
pQueueFamilyPropertyCount
;
VkQueueFamilyProperties2
*
pQueueFamilyProperties
;
}
*
params
=
args
;
VkQueueFamilyProperties2
*
pQueueFamilyProperties_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %p, %p
\n
"
,
params
->
physicalDevice
,
params
->
pQueueFamilyPropertyCount
,
params
->
pQueueFamilyProperties
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceQueueFamilyProperties2
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
pQueueFamilyPropertyCount
,
params
->
pQueueFamilyProperties
);
init_conversion_context
(
&
ctx
);
pQueueFamilyProperties_host
=
convert_VkQueueFamilyProperties2_array_win32_to_host
(
&
ctx
,
params
->
pQueueFamilyProperties
,
*
params
->
pQueueFamilyPropertyCount
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceQueueFamilyProperties2
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
pQueueFamilyPropertyCount
,
pQueueFamilyProperties_host
);
convert_VkQueueFamilyProperties2_array_host_to_win32
(
pQueueFamilyProperties_host
,
params
->
pQueueFamilyProperties
,
*
params
->
pQueueFamilyPropertyCount
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -26817,10 +27263,16 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceQueueFamilyProperties2KHR(void *args)
uint32_t
*
pQueueFamilyPropertyCount
;
VkQueueFamilyProperties2
*
pQueueFamilyProperties
;
}
*
params
=
args
;
VkQueueFamilyProperties2
*
pQueueFamilyProperties_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %p, %p
\n
"
,
params
->
physicalDevice
,
params
->
pQueueFamilyPropertyCount
,
params
->
pQueueFamilyProperties
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceQueueFamilyProperties2KHR
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
pQueueFamilyPropertyCount
,
params
->
pQueueFamilyProperties
);
init_conversion_context
(
&
ctx
);
pQueueFamilyProperties_host
=
convert_VkQueueFamilyProperties2_array_win32_to_host
(
&
ctx
,
params
->
pQueueFamilyProperties
,
*
params
->
pQueueFamilyPropertyCount
);
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
instance
->
funcs
.
p_vkGetPhysicalDeviceQueueFamilyProperties2KHR
(
wine_phys_dev_from_handle
(
params
->
physicalDevice
)
->
phys_dev
,
params
->
pQueueFamilyPropertyCount
,
pQueueFamilyProperties_host
);
convert_VkQueueFamilyProperties2_array_host_to_win32
(
pQueueFamilyProperties_host
,
params
->
pQueueFamilyProperties
,
*
params
->
pQueueFamilyPropertyCount
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
...
...
@@ -27556,12 +28008,18 @@ static NTSTATUS thunk32_vkGetQueueCheckpointData2NV(void *args)
{
VkQueue
queue
;
uint32_t
*
pCheckpointDataCount
;
VkCheckpointData2NV
*
pCheckpointData
;
VkCheckpointData2NV
32
*
pCheckpointData
;
}
*
params
=
args
;
VkCheckpointData2NV
*
pCheckpointData_host
;
struct
conversion_context
ctx
;
TRACE
(
"%p, %p, %p
\n
"
,
params
->
queue
,
params
->
pCheckpointDataCount
,
params
->
pCheckpointData
);
wine_queue_from_handle
(
params
->
queue
)
->
device
->
funcs
.
p_vkGetQueueCheckpointData2NV
(
wine_queue_from_handle
(
params
->
queue
)
->
queue
,
params
->
pCheckpointDataCount
,
params
->
pCheckpointData
);
init_conversion_context
(
&
ctx
);
pCheckpointData_host
=
convert_VkCheckpointData2NV_array_win32_to_host
(
&
ctx
,
params
->
pCheckpointData
,
*
params
->
pCheckpointDataCount
);
wine_queue_from_handle
(
params
->
queue
)
->
device
->
funcs
.
p_vkGetQueueCheckpointData2NV
(
wine_queue_from_handle
(
params
->
queue
)
->
queue
,
params
->
pCheckpointDataCount
,
pCheckpointData_host
);
convert_VkCheckpointData2NV_array_host_to_win32
(
pCheckpointData_host
,
params
->
pCheckpointData
,
*
params
->
pCheckpointDataCount
);
free_conversion_context
(
&
ctx
);
return
STATUS_SUCCESS
;
}
include/wine/vulkan.h
View file @
0a2bffa7
...
...
@@ -4989,10 +4989,10 @@ typedef struct VkBufferMemoryBarrier2
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
srcStageMask
;
VkAccessFlags2
srcAccessMask
;
VkPipelineStageFlags2
dstStageMask
;
VkAccessFlags2
dstAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
dstAccessMask
;
uint32_t
srcQueueFamilyIndex
;
uint32_t
dstQueueFamilyIndex
;
VkBuffer
WINE_VK_ALIGN
(
8
)
buffer
;
...
...
@@ -5039,7 +5039,7 @@ typedef struct VkCheckpointData2NV
{
VkStructureType
sType
;
void
*
pNext
;
VkPipelineStageFlags2
stage
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
stage
;
void
*
pCheckpointMarker
;
}
VkCheckpointData2NV
;
...
...
@@ -5375,7 +5375,7 @@ typedef struct VkDecompressMemoryRegionNV
VkDeviceAddress
WINE_VK_ALIGN
(
8
)
dstAddress
;
VkDeviceSize
WINE_VK_ALIGN
(
8
)
compressedSize
;
VkDeviceSize
WINE_VK_ALIGN
(
8
)
decompressedSize
;
VkMemoryDecompressionMethodFlagsNV
decompressionMethod
;
VkMemoryDecompressionMethodFlagsNV
WINE_VK_ALIGN
(
8
)
decompressionMethod
;
}
VkDecompressMemoryRegionNV
;
typedef
struct
VkDedicatedAllocationBufferCreateInfoNV
...
...
@@ -5876,9 +5876,9 @@ typedef struct VkFormatProperties3
{
VkStructureType
sType
;
void
*
pNext
;
VkFormatFeatureFlags2
linearTilingFeatures
;
VkFormatFeatureFlags2
optimalTilingFeatures
;
VkFormatFeatureFlags2
bufferFeatures
;
VkFormatFeatureFlags2
WINE_VK_ALIGN
(
8
)
linearTilingFeatures
;
VkFormatFeatureFlags2
WINE_VK_ALIGN
(
8
)
optimalTilingFeatures
;
VkFormatFeatureFlags2
WINE_VK_ALIGN
(
8
)
bufferFeatures
;
}
VkFormatProperties3
;
typedef
VkFormatProperties3
VkFormatProperties3KHR
;
...
...
@@ -6278,10 +6278,10 @@ typedef struct VkMemoryBarrier2
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
srcStageMask
;
VkAccessFlags2
srcAccessMask
;
VkPipelineStageFlags2
dstStageMask
;
VkAccessFlags2
dstAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
dstAccessMask
;
}
VkMemoryBarrier2
;
typedef
VkMemoryBarrier2
VkMemoryBarrier2KHR
;
...
...
@@ -7670,7 +7670,7 @@ typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV
{
VkStructureType
sType
;
void
*
pNext
;
VkMemoryDecompressionMethodFlagsNV
decompressionMethods
;
VkMemoryDecompressionMethodFlagsNV
WINE_VK_ALIGN
(
8
)
decompressionMethods
;
uint64_t
WINE_VK_ALIGN
(
8
)
maxDecompressionIndirectCount
;
}
VkPhysicalDeviceMemoryDecompressionPropertiesNV
;
...
...
@@ -9376,7 +9376,7 @@ typedef struct VkQueueFamilyCheckpointProperties2NV
{
VkStructureType
sType
;
void
*
pNext
;
VkPipelineStageFlags2
checkpointExecutionStageMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
checkpointExecutionStageMask
;
}
VkQueueFamilyCheckpointProperties2NV
;
typedef
struct
VkQueueFamilyCheckpointPropertiesNV
...
...
@@ -9712,7 +9712,7 @@ typedef struct VkSemaphoreSubmitInfo
const
void
*
pNext
;
VkSemaphore
WINE_VK_ALIGN
(
8
)
semaphore
;
uint64_t
WINE_VK_ALIGN
(
8
)
value
;
VkPipelineStageFlags2
stageMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
stageMask
;
uint32_t
deviceIndex
;
}
VkSemaphoreSubmitInfo
;
typedef
VkSemaphoreSubmitInfo
VkSemaphoreSubmitInfoKHR
;
...
...
@@ -10708,10 +10708,10 @@ typedef struct VkImageMemoryBarrier2
{
VkStructureType
sType
;
const
void
*
pNext
;
VkPipelineStageFlags2
srcStageMask
;
VkAccessFlags2
srcAccessMask
;
VkPipelineStageFlags2
dstStageMask
;
VkAccessFlags2
dstAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
srcStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
srcAccessMask
;
VkPipelineStageFlags2
WINE_VK_ALIGN
(
8
)
dstStageMask
;
VkAccessFlags2
WINE_VK_ALIGN
(
8
)
dstAccessMask
;
VkImageLayout
oldLayout
;
VkImageLayout
newLayout
;
uint32_t
srcQueueFamilyIndex
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment