73
73
#define VkAccessFlagBits2 VkAccessFlagBits2_VkFlags64_typedef
74
74
#define VkPipelineStageFlagBits2 VkPipelineStageFlagBits2_VkFlags64_typedef
75
75
#define VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2_VkFlags64_typedef
76
+ #define VkBufferUsageFlagBits2 VkBufferUsageFlagBits2_VkFlags64_typedef
77
+ #define VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2_VkFlags64_typedef
76
78
77
79
#include " core/core.h"
78
80
#include " core/resource_manager.h"
84
86
#undef VkAccessFlagBits2
85
87
#undef VkPipelineStageFlagBits2
86
88
#undef VkFormatFeatureFlagBits2
89
+ #undef VkBufferUsageFlagBits2
90
+ #undef VkPipelineCreateFlagBits2
87
91
88
92
#undef Bool
89
93
#undef None
@@ -129,6 +133,54 @@ int SampleIndex(VkSampleCountFlagBits countFlag);
129
133
int StageIndex (VkShaderStageFlagBits stageFlag);
130
134
VkShaderStageFlags ShaderMaskFromIndex (size_t index);
131
135
136
+ // Generic getter/setter helpers to handle optional 64 flag structs in the pNext chain
137
+ template <typename ParentStruct>
138
+ uint64_t GetBufferUsageFlags (const ParentStruct *info)
139
+ {
140
+ const VkBufferUsageFlags2CreateInfo *usage2 = (const VkBufferUsageFlags2CreateInfo *)FindNextStruct (
141
+ info, VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO);
142
+ if (usage2)
143
+ return usage2->usage ;
144
+ return info->usage ;
145
+ }
146
+
147
+ template <typename ParentStruct>
148
+ void SetBufferUsageFlags (ParentStruct *info, uint64_t usage)
149
+ {
150
+ VkBufferUsageFlags2CreateInfo *usage2 = (VkBufferUsageFlags2CreateInfo *)FindNextStruct (
151
+ info, VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO);
152
+ if (usage2)
153
+ {
154
+ usage2->usage = usage;
155
+ return ;
156
+ }
157
+ info->usage = (VkBufferUsageFlags)usage;
158
+ }
159
+
160
+ template <typename ParentStruct>
161
+ uint64_t GetPipelineCreateFlags (const ParentStruct *info)
162
+ {
163
+ const VkPipelineCreateFlags2CreateInfo *flags2 =
164
+ (const VkPipelineCreateFlags2CreateInfo *)FindNextStruct (
165
+ info, VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO);
166
+ if (flags2)
167
+ return flags2->flags ;
168
+ return info->flags ;
169
+ }
170
+
171
+ template <typename ParentStruct>
172
+ void SetPipelineCreateFlags (ParentStruct *info, uint64_t flags)
173
+ {
174
+ VkPipelineCreateFlags2CreateInfo *flags2 = (VkPipelineCreateFlags2CreateInfo *)FindNextStruct (
175
+ info, VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO);
176
+ if (flags2)
177
+ {
178
+ flags2->flags = flags;
179
+ return ;
180
+ }
181
+ info->flags = (VkPipelineCreateFlags)flags;
182
+ }
183
+
132
184
struct PackedWindowHandle
133
185
{
134
186
PackedWindowHandle (WindowingSystem s, void *h) : system(s), handle(h) {}
@@ -1150,6 +1202,7 @@ enum class VulkanChunk : uint32_t
1150
1202
vkCmdSetRenderingInputAttachmentIndicesKHR,
1151
1203
vkCmdTraceRaysIndirect2KHR,
1152
1204
vkCmdWriteAccelerationStructuresPropertiesKHR,
1205
+ vkCmdBindIndexBuffer2KHR,
1153
1206
Max,
1154
1207
};
1155
1208
@@ -1233,6 +1286,7 @@ DECLARE_REFLECTION_STRUCT(VkBufferMemoryBarrier);
1233
1286
DECLARE_REFLECTION_STRUCT (VkBufferMemoryBarrier2);
1234
1287
DECLARE_REFLECTION_STRUCT (VkBufferMemoryRequirementsInfo2);
1235
1288
DECLARE_REFLECTION_STRUCT (VkBufferOpaqueCaptureAddressCreateInfo);
1289
+ DECLARE_REFLECTION_STRUCT (VkBufferUsageFlags2CreateInfo);
1236
1290
DECLARE_REFLECTION_STRUCT (VkBufferViewCreateInfo);
1237
1291
DECLARE_REFLECTION_STRUCT (VkCalibratedTimestampInfoKHR);
1238
1292
DECLARE_REFLECTION_STRUCT (VkCommandBufferAllocateInfo);
@@ -1286,6 +1340,7 @@ DECLARE_REFLECTION_STRUCT(VkDeviceGroupRenderPassBeginInfo);
1286
1340
DECLARE_REFLECTION_STRUCT (VkDeviceGroupSubmitInfo);
1287
1341
DECLARE_REFLECTION_STRUCT (VkDeviceGroupSwapchainCreateInfoKHR);
1288
1342
DECLARE_REFLECTION_STRUCT (VkDeviceImageMemoryRequirements);
1343
+ DECLARE_REFLECTION_STRUCT (VkDeviceImageSubresourceInfo);
1289
1344
DECLARE_REFLECTION_STRUCT (VkDeviceMemoryOpaqueCaptureAddressInfo);
1290
1345
DECLARE_REFLECTION_STRUCT (VkDeviceMemoryOverallocationCreateInfoAMD);
1291
1346
DECLARE_REFLECTION_STRUCT (VkDevicePrivateDataCreateInfo);
@@ -1337,6 +1392,7 @@ DECLARE_REFLECTION_STRUCT(VkImagePlaneMemoryRequirementsInfo);
1337
1392
DECLARE_REFLECTION_STRUCT (VkImageResolve2);
1338
1393
DECLARE_REFLECTION_STRUCT (VkImageSparseMemoryRequirementsInfo2);
1339
1394
DECLARE_REFLECTION_STRUCT (VkImageStencilUsageCreateInfo);
1395
+ DECLARE_REFLECTION_STRUCT (VkImageSubresource2);
1340
1396
DECLARE_REFLECTION_STRUCT (VkImageSwapchainCreateInfoKHR);
1341
1397
DECLARE_REFLECTION_STRUCT (VkImageViewASTCDecodeModeEXT);
1342
1398
DECLARE_REFLECTION_STRUCT (VkImageViewCreateInfo);
@@ -1438,6 +1494,8 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLineRasterizationProperties);
1438
1494
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMaintenance3Properties);
1439
1495
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMaintenance4Features);
1440
1496
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMaintenance4Properties);
1497
+ DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMaintenance5Features);
1498
+ DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMaintenance5Properties);
1441
1499
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMemoryBudgetPropertiesEXT);
1442
1500
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMemoryPriorityFeaturesEXT);
1443
1501
DECLARE_REFLECTION_STRUCT (VkPhysicalDeviceMemoryProperties2);
@@ -1540,6 +1598,7 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures)
1540
1598
DECLARE_REFLECTION_STRUCT (VkPipelineCacheCreateInfo);
1541
1599
DECLARE_REFLECTION_STRUCT (VkPipelineColorBlendStateCreateInfo);
1542
1600
DECLARE_REFLECTION_STRUCT (VkPipelineColorWriteCreateInfoEXT);
1601
+ DECLARE_REFLECTION_STRUCT (VkPipelineCreateFlags2CreateInfo);
1543
1602
DECLARE_REFLECTION_STRUCT (VkPipelineCreationFeedbackCreateInfo);
1544
1603
DECLARE_REFLECTION_STRUCT (VkPipelineDepthStencilStateCreateInfo);
1545
1604
DECLARE_REFLECTION_STRUCT (VkPipelineDiscardRectangleStateCreateInfoEXT);
@@ -1586,6 +1645,7 @@ DECLARE_REFLECTION_STRUCT(VkRayTracingPipelineInterfaceCreateInfoKHR);
1586
1645
DECLARE_REFLECTION_STRUCT (VkRayTracingShaderGroupCreateInfoKHR);
1587
1646
DECLARE_REFLECTION_STRUCT (VkRefreshCycleDurationGOOGLE);
1588
1647
DECLARE_REFLECTION_STRUCT (VkReleaseSwapchainImagesInfoEXT);
1648
+ DECLARE_REFLECTION_STRUCT (VkRenderingAreaInfo);
1589
1649
DECLARE_REFLECTION_STRUCT (VkRenderingAttachmentInfo);
1590
1650
DECLARE_REFLECTION_STRUCT (VkRenderingAttachmentLocationInfo);
1591
1651
DECLARE_REFLECTION_STRUCT (VkRenderingFragmentDensityMapAttachmentInfoEXT);
@@ -1631,6 +1691,7 @@ DECLARE_REFLECTION_STRUCT(VkSubpassEndInfo);
1631
1691
DECLARE_REFLECTION_STRUCT (VkSubpassFragmentDensityMapOffsetEndInfoQCOM);
1632
1692
DECLARE_REFLECTION_STRUCT (VkSubpassResolvePerformanceQueryEXT);
1633
1693
DECLARE_REFLECTION_STRUCT (VkSubpassSampleLocationsEXT);
1694
+ DECLARE_REFLECTION_STRUCT (VkSubresourceLayout2);
1634
1695
DECLARE_REFLECTION_STRUCT (VkSurfaceCapabilities2EXT);
1635
1696
DECLARE_REFLECTION_STRUCT (VkSurfaceCapabilities2KHR);
1636
1697
DECLARE_REFLECTION_STRUCT (VkSurfaceFormat2KHR);
@@ -1688,6 +1749,7 @@ DECLARE_DESERIALISE_TYPE(VkBufferMemoryBarrier);
1688
1749
DECLARE_DESERIALISE_TYPE (VkBufferMemoryBarrier2);
1689
1750
DECLARE_DESERIALISE_TYPE (VkBufferMemoryRequirementsInfo2);
1690
1751
DECLARE_DESERIALISE_TYPE (VkBufferOpaqueCaptureAddressCreateInfo);
1752
+ DECLARE_DESERIALISE_TYPE (VkBufferUsageFlags2CreateInfo);
1691
1753
DECLARE_DESERIALISE_TYPE (VkBufferViewCreateInfo);
1692
1754
DECLARE_DESERIALISE_TYPE (VkCalibratedTimestampInfoKHR);
1693
1755
DECLARE_DESERIALISE_TYPE (VkCommandBufferAllocateInfo);
@@ -1741,6 +1803,7 @@ DECLARE_DESERIALISE_TYPE(VkDeviceGroupRenderPassBeginInfo);
1741
1803
DECLARE_DESERIALISE_TYPE (VkDeviceGroupSubmitInfo);
1742
1804
DECLARE_DESERIALISE_TYPE (VkDeviceGroupSwapchainCreateInfoKHR);
1743
1805
DECLARE_DESERIALISE_TYPE (VkDeviceImageMemoryRequirements);
1806
+ DECLARE_DESERIALISE_TYPE (VkDeviceImageSubresourceInfo);
1744
1807
DECLARE_DESERIALISE_TYPE (VkDeviceMemoryOpaqueCaptureAddressInfo);
1745
1808
DECLARE_DESERIALISE_TYPE (VkDeviceMemoryOverallocationCreateInfoAMD);
1746
1809
DECLARE_DESERIALISE_TYPE (VkDevicePrivateDataCreateInfo);
@@ -1791,6 +1854,7 @@ DECLARE_DESERIALISE_TYPE(VkImagePlaneMemoryRequirementsInfo);
1791
1854
DECLARE_DESERIALISE_TYPE (VkImageResolve2);
1792
1855
DECLARE_DESERIALISE_TYPE (VkImageSparseMemoryRequirementsInfo2);
1793
1856
DECLARE_DESERIALISE_TYPE (VkImageStencilUsageCreateInfo);
1857
+ DECLARE_DESERIALISE_TYPE (VkImageSubresource2);
1794
1858
DECLARE_DESERIALISE_TYPE (VkImageSwapchainCreateInfoKHR);
1795
1859
DECLARE_DESERIALISE_TYPE (VkImageViewASTCDecodeModeEXT);
1796
1860
DECLARE_DESERIALISE_TYPE (VkImageViewCreateInfo);
@@ -1889,6 +1953,8 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceLineRasterizationProperties);
1889
1953
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMaintenance3Properties);
1890
1954
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMaintenance4Features);
1891
1955
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMaintenance4Properties);
1956
+ DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMaintenance5Features);
1957
+ DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMaintenance5Properties);
1892
1958
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMemoryBudgetPropertiesEXT);
1893
1959
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMemoryPriorityFeaturesEXT);
1894
1960
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceMemoryProperties2);
@@ -1974,8 +2040,8 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
1974
2040
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
1975
2041
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVariablePointersFeatures);
1976
2042
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVertexAttributeDivisorFeatures);
1977
- DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
1978
2043
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVertexAttributeDivisorProperties);
2044
+ DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
1979
2045
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT);
1980
2046
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVulkan11Features);
1981
2047
DECLARE_DESERIALISE_TYPE (VkPhysicalDeviceVulkan11Properties);
@@ -1991,6 +2057,7 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures);
1991
2057
DECLARE_DESERIALISE_TYPE (VkPipelineCacheCreateInfo);
1992
2058
DECLARE_DESERIALISE_TYPE (VkPipelineColorBlendStateCreateInfo);
1993
2059
DECLARE_DESERIALISE_TYPE (VkPipelineColorWriteCreateInfoEXT);
2060
+ DECLARE_DESERIALISE_TYPE (VkPipelineCreateFlags2CreateInfo);
1994
2061
DECLARE_DESERIALISE_TYPE (VkPipelineCreationFeedbackCreateInfo);
1995
2062
DECLARE_DESERIALISE_TYPE (VkPipelineDepthStencilStateCreateInfo);
1996
2063
DECLARE_DESERIALISE_TYPE (VkPipelineDiscardRectangleStateCreateInfoEXT);
@@ -2035,12 +2102,13 @@ DECLARE_DESERIALISE_TYPE(VkRayTracingPipelineCreateInfoKHR);
2035
2102
DECLARE_DESERIALISE_TYPE (VkRayTracingPipelineInterfaceCreateInfoKHR);
2036
2103
DECLARE_DESERIALISE_TYPE (VkRayTracingShaderGroupCreateInfoKHR);
2037
2104
DECLARE_DESERIALISE_TYPE (VkReleaseSwapchainImagesInfoEXT);
2105
+ DECLARE_DESERIALISE_TYPE (VkRenderingAreaInfo);
2038
2106
DECLARE_DESERIALISE_TYPE (VkRenderingAttachmentInfo);
2039
2107
DECLARE_DESERIALISE_TYPE (VkRenderingAttachmentLocationInfo);
2040
2108
DECLARE_DESERIALISE_TYPE (VkRenderingFragmentDensityMapAttachmentInfoEXT);
2041
2109
DECLARE_DESERIALISE_TYPE (VkRenderingFragmentShadingRateAttachmentInfoKHR);
2042
- DECLARE_DESERIALISE_TYPE (VkRenderingInputAttachmentIndexInfo);
2043
2110
DECLARE_DESERIALISE_TYPE (VkRenderingInfo);
2111
+ DECLARE_DESERIALISE_TYPE (VkRenderingInputAttachmentIndexInfo);
2044
2112
DECLARE_DESERIALISE_TYPE (VkRenderPassAttachmentBeginInfo);
2045
2113
DECLARE_DESERIALISE_TYPE (VkRenderPassBeginInfo);
2046
2114
DECLARE_DESERIALISE_TYPE (VkRenderPassCreateInfo);
@@ -2079,6 +2147,7 @@ DECLARE_DESERIALISE_TYPE(VkSubpassEndInfo);
2079
2147
DECLARE_DESERIALISE_TYPE (VkSubpassFragmentDensityMapOffsetEndInfoQCOM);
2080
2148
DECLARE_DESERIALISE_TYPE (VkSubpassResolvePerformanceQueryEXT);
2081
2149
DECLARE_DESERIALISE_TYPE (VkSubpassSampleLocationsEXT);
2150
+ DECLARE_DESERIALISE_TYPE (VkSubresourceLayout2);
2082
2151
DECLARE_DESERIALISE_TYPE (VkSurfaceCapabilities2EXT);
2083
2152
DECLARE_DESERIALISE_TYPE (VkSurfaceCapabilities2KHR);
2084
2153
DECLARE_DESERIALISE_TYPE (VkSurfaceFormat2KHR);
@@ -2183,6 +2252,7 @@ DECLARE_REFLECTION_STRUCT(VkStencilOpState);
2183
2252
DECLARE_REFLECTION_STRUCT (VkStridedDeviceAddressRegionKHR);
2184
2253
DECLARE_REFLECTION_STRUCT (VkSubpassDependency);
2185
2254
DECLARE_REFLECTION_STRUCT (VkSubpassDescription);
2255
+ DECLARE_REFLECTION_STRUCT (VkSubresourceLayout);
2186
2256
DECLARE_REFLECTION_STRUCT (VkSurfaceCapabilitiesKHR);
2187
2257
DECLARE_REFLECTION_STRUCT (VkSurfaceFormatKHR);
2188
2258
DECLARE_REFLECTION_STRUCT (VkTransformMatrixKHR);
@@ -2281,6 +2351,14 @@ enum VkFormatFeatureFlagBits2 : uint64_t
2281
2351
{
2282
2352
};
2283
2353
2354
+ enum VkBufferUsageFlagBits2 : uint64_t
2355
+ {
2356
+ };
2357
+
2358
+ enum VkPipelineCreateFlagBits2 : uint64_t
2359
+ {
2360
+ };
2361
+
2284
2362
// enums
2285
2363
2286
2364
DECLARE_REFLECTION_ENUM (VkAccelerationStructureBuildTypeKHR);
@@ -2298,6 +2376,7 @@ DECLARE_REFLECTION_ENUM(VkBlendOp);
2298
2376
DECLARE_REFLECTION_ENUM (VkBorderColor);
2299
2377
DECLARE_REFLECTION_ENUM (VkBufferCreateFlagBits);
2300
2378
DECLARE_REFLECTION_ENUM (VkBufferUsageFlagBits);
2379
+ DECLARE_REFLECTION_ENUM (VkBufferUsageFlagBits2);
2301
2380
DECLARE_REFLECTION_ENUM (VkBuildAccelerationStructureFlagBitsKHR);
2302
2381
DECLARE_REFLECTION_ENUM (VkBuildAccelerationStructureModeKHR);
2303
2382
DECLARE_REFLECTION_ENUM (VkChromaLocation);
@@ -2379,6 +2458,7 @@ DECLARE_REFLECTION_ENUM(VkPipelineBindPoint);
2379
2458
DECLARE_REFLECTION_ENUM (VkPipelineCacheCreateFlagBits);
2380
2459
DECLARE_REFLECTION_ENUM (VkPipelineColorBlendStateCreateFlagBits);
2381
2460
DECLARE_REFLECTION_ENUM (VkPipelineCreateFlagBits);
2461
+ DECLARE_REFLECTION_ENUM (VkPipelineCreateFlagBits2);
2382
2462
DECLARE_REFLECTION_ENUM (VkPipelineCreationFeedbackFlagBits);
2383
2463
DECLARE_REFLECTION_ENUM (VkPipelineDepthStencilStateCreateFlagBits);
2384
2464
DECLARE_REFLECTION_ENUM (VkPipelineExecutableStatisticFormatKHR);
0 commit comments