mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-12 16:55:49 +00:00
Handle all sType structures in serialisation, and next chain handling
* In many cases these structs are redundant and currently aren't ever serialised directly or valid to be included in next chains. However it's better to take the hit now and implement this universally in case new structs are needed in future. It's easier to keep up with when new structs are added, and it means we have the compiler checking we've handled all structs and don't forget one. * There are some specific exceptions for structs that really need special handling and are just treated as if they're unsupported, on the assumption that any special handling will be implemented elsewhere.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
set(sources
|
||||
vk_common.cpp
|
||||
vk_common.h
|
||||
vk_next_chains.cpp
|
||||
vk_core.cpp
|
||||
vk_core.h
|
||||
vk_counters.cpp
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="vk_msaa_array_conv.cpp" />
|
||||
<ClCompile Include="vk_next_chains.cpp" />
|
||||
<ClCompile Include="vk_outputwindow.cpp" />
|
||||
<ClCompile Include="vk_overlay.cpp" />
|
||||
<ClCompile Include="vk_postvs.cpp" />
|
||||
|
||||
@@ -130,6 +130,9 @@
|
||||
<ClCompile Include="vk_rendertext.cpp">
|
||||
<Filter>Util</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="vk_next_chains.cpp">
|
||||
<Filter>Util</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="vk_replay.h">
|
||||
|
||||
@@ -285,533 +285,6 @@ bool VkInitParams::IsSupportedVersion(uint64_t ver)
|
||||
return false;
|
||||
}
|
||||
|
||||
// utility function for when we're modifying one struct in a pNext chain, this
|
||||
// lets us just copy across a struct unmodified into some temporary memory and
|
||||
// append it onto a pNext chain we're building
|
||||
template <typename VkStruct>
|
||||
void CopyNextChainedStruct(byte *&tempMem, const VkBaseInStructure *nextInput,
|
||||
VkBaseInStructure *&nextChainTail)
|
||||
{
|
||||
const VkStruct *instruct = (const VkStruct *)nextInput;
|
||||
VkStruct *outstruct = (VkStruct *)tempMem;
|
||||
|
||||
tempMem = (byte *)(outstruct + 1);
|
||||
|
||||
// copy the struct, nothing to unwrap
|
||||
*outstruct = *instruct;
|
||||
|
||||
// default to NULL. It will be overwritten next time if there is a next object
|
||||
outstruct->pNext = NULL;
|
||||
|
||||
// append this onto the chain
|
||||
nextChainTail->pNext = (const VkBaseInStructure *)outstruct;
|
||||
nextChainTail = (VkBaseInStructure *)outstruct;
|
||||
}
|
||||
|
||||
// this is similar to the above function, but for use after we've modified a struct locally
|
||||
// e.g. to unwrap some members or patch flags, etc.
|
||||
template <typename VkStruct>
|
||||
void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkBaseInStructure *&nextChainTail)
|
||||
{
|
||||
tempMem = (byte *)(outputStruct + 1);
|
||||
|
||||
// default to NULL. It will be overwritten in the next step if there is a next object
|
||||
outputStruct->pNext = NULL;
|
||||
|
||||
// append this onto the chain
|
||||
nextChainTail->pNext = (const VkBaseInStructure *)outputStruct;
|
||||
nextChainTail = (VkBaseInStructure *)outputStruct;
|
||||
}
|
||||
|
||||
size_t GetNextPatchSize(const void *pNext)
|
||||
{
|
||||
const VkBaseInStructure *next = (const VkBaseInStructure *)pNext;
|
||||
size_t memSize = 0;
|
||||
|
||||
while(next)
|
||||
{
|
||||
// VkMemoryAllocateInfo
|
||||
if(next->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV)
|
||||
memSize += sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO)
|
||||
memSize += sizeof(VkMemoryDedicatedAllocateInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO)
|
||||
memSize += sizeof(VkMemoryAllocateFlagsInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV)
|
||||
memSize += sizeof(VkExportMemoryAllocateInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO)
|
||||
memSize += sizeof(VkExportMemoryAllocateInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR)
|
||||
memSize += sizeof(VkImportMemoryFdInfoKHR);
|
||||
|
||||
#ifdef VK_NV_external_memory_win32
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
memSize += sizeof(VkExportMemoryWin32HandleInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
memSize += sizeof(VkImportMemoryWin32HandleInfoNV);
|
||||
#else
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
RDCERR("Support for VK_NV_external_memory_win32 not compiled in");
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
RDCERR("Support for VK_NV_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
|
||||
#ifdef VK_KHR_external_memory_win32
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
memSize += sizeof(VkExportMemoryWin32HandleInfoKHR);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
memSize += sizeof(VkImportMemoryWin32HandleInfoKHR);
|
||||
#else
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
|
||||
// VkSamplerCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)
|
||||
memSize += sizeof(VkSamplerYcbcrConversionInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT)
|
||||
memSize += sizeof(VkSamplerReductionModeCreateInfoEXT);
|
||||
|
||||
// VkSemaphoreCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO)
|
||||
memSize += sizeof(VkExportSemaphoreCreateInfoKHR);
|
||||
#ifdef VK_KHR_external_semaphore_win32
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR)
|
||||
memSize += sizeof(VkExportSemaphoreWin32HandleInfoKHR);
|
||||
#else
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR)
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
|
||||
// VkFenceCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO)
|
||||
memSize += sizeof(VkExportFenceCreateInfoKHR);
|
||||
#ifdef VK_KHR_external_fence_win32
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR)
|
||||
memSize += sizeof(VkExportFenceWin32HandleInfoKHR);
|
||||
#else
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR)
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
|
||||
// VkImageCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO)
|
||||
memSize += sizeof(VkExternalMemoryImageCreateInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV)
|
||||
memSize += sizeof(VkExternalMemoryImageCreateInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR)
|
||||
memSize += sizeof(VkImageSwapchainCreateInfoKHR);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV)
|
||||
memSize += sizeof(VkDedicatedAllocationImageCreateInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR)
|
||||
memSize += sizeof(VkImageFormatListCreateInfoKHR);
|
||||
|
||||
// VkBufferCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO)
|
||||
memSize += sizeof(VkExternalMemoryBufferCreateInfoKHR);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV)
|
||||
memSize += sizeof(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO)
|
||||
memSize += sizeof(VkBindBufferMemoryDeviceGroupInfo);
|
||||
|
||||
// VkBindImageMemoryInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR)
|
||||
memSize += sizeof(VkBindImageMemorySwapchainInfoKHR);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO)
|
||||
memSize += sizeof(VkBindImageMemoryDeviceGroupInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO)
|
||||
memSize += sizeof(VkBindImagePlaneMemoryInfo);
|
||||
|
||||
// VkSwapchainCreateInfoKHR
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT)
|
||||
memSize += sizeof(VkSwapchainCounterCreateInfoEXT);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR)
|
||||
memSize += sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
|
||||
|
||||
// VkDeviceQueueCreateInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT)
|
||||
memSize += sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
|
||||
|
||||
// VkSubmitInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO)
|
||||
memSize += sizeof(VkProtectedSubmitInfo);
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO)
|
||||
memSize += sizeof(VkDeviceGroupSubmitInfo);
|
||||
|
||||
#if defined(VK_KHR_win32_keyed_mutex) || defined(VK_NV_win32_keyed_mutex)
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV ||
|
||||
next->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)
|
||||
{
|
||||
// the KHR and NV structs are identical
|
||||
memSize += sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
|
||||
|
||||
VkWin32KeyedMutexAcquireReleaseInfoKHR *info = (VkWin32KeyedMutexAcquireReleaseInfoKHR *)next;
|
||||
memSize += info->acquireCount * sizeof(VkDeviceMemory);
|
||||
memSize += info->releaseCount * sizeof(VkDeviceMemory);
|
||||
}
|
||||
#else
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV ||
|
||||
next->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)
|
||||
{
|
||||
RDCERR("Support for VK_KHR_win32_keyed_mutex / VK_NV_win32_keyed_mutex not compiled in");
|
||||
}
|
||||
#endif
|
||||
|
||||
// VkBindSparseInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO)
|
||||
memSize += sizeof(VkDeviceGroupBindSparseInfo);
|
||||
|
||||
// VkCommandBufferBeginInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO)
|
||||
memSize += sizeof(VkDeviceGroupCommandBufferBeginInfo);
|
||||
|
||||
// VkRenderPassBeginInfo
|
||||
else if(next->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO)
|
||||
memSize += sizeof(VkDeviceGroupRenderPassBeginInfo);
|
||||
|
||||
// VkShaderModuleCreateInfo
|
||||
if(next->sType == VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT)
|
||||
memSize += sizeof(VkValidationCacheCreateInfoEXT);
|
||||
|
||||
next = next->pNext;
|
||||
}
|
||||
|
||||
return memSize;
|
||||
}
|
||||
|
||||
void UnwrapNextChain(CaptureState state, const char *structName, byte *&tempMem,
|
||||
VkBaseInStructure *infoStruct)
|
||||
{
|
||||
// during capture, this walks the pNext chain and either copies structs that can be passed
|
||||
// straight through, or copies and modifies any with vulkan objects that need to be unwrapped.
|
||||
//
|
||||
// during replay, we do the same thing to prepare for dispatching to the driver, but we also strip
|
||||
// out any structs we don't want to replay - e.g. external memory. This means the data is
|
||||
// serialised and available for future use and for user inspection, but isn't replayed when not
|
||||
// necesary.
|
||||
|
||||
VkBaseInStructure *nextChainTail = infoStruct;
|
||||
const VkBaseInStructure *nextInput = (const VkBaseInStructure *)infoStruct->pNext;
|
||||
|
||||
// start with an empty chain. Every call to AppendModifiedChainedStruct / CopyNextChainedStruct
|
||||
// pushes on a new entry, but if there's only one entry in the list and it's one we want to skip,
|
||||
// this needs to start at NULL.
|
||||
nextChainTail->pNext = NULL;
|
||||
while(nextInput)
|
||||
{
|
||||
if(nextInput->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV ||
|
||||
nextInput->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO)
|
||||
{
|
||||
// KHR and NV structs are identical
|
||||
const VkMemoryDedicatedAllocateInfo *dedicatedIn =
|
||||
(const VkMemoryDedicatedAllocateInfo *)nextInput;
|
||||
VkMemoryDedicatedAllocateInfo *dedicatedOut = (VkMemoryDedicatedAllocateInfo *)tempMem;
|
||||
|
||||
// copy and unwrap the struct
|
||||
dedicatedOut->sType = dedicatedIn->sType;
|
||||
dedicatedOut->buffer = Unwrap(dedicatedIn->buffer);
|
||||
dedicatedOut->image = Unwrap(dedicatedIn->image);
|
||||
|
||||
// we replay this
|
||||
AppendModifiedChainedStruct(tempMem, dedicatedOut, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkMemoryAllocateFlagsInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportMemoryAllocateInfoNV>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportMemoryAllocateInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkImportMemoryFdInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
{
|
||||
#ifdef VK_KHR_external_memory_win32
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportMemoryWin32HandleInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR)
|
||||
{
|
||||
#ifdef VK_KHR_external_memory_win32
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkImportMemoryWin32HandleInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_KHR_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
{
|
||||
#ifdef VK_NV_external_memory_win32
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportMemoryWin32HandleInfoNV>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_NV_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV)
|
||||
{
|
||||
#ifdef VK_NV_external_memory_win32
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkImportMemoryWin32HandleInfoNV>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_NV_external_memory_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)
|
||||
{
|
||||
const VkSamplerYcbcrConversionInfo *ycbcrIn = (const VkSamplerYcbcrConversionInfo *)nextInput;
|
||||
VkSamplerYcbcrConversionInfo *ycbcrOut = (VkSamplerYcbcrConversionInfo *)tempMem;
|
||||
|
||||
// copy and unwrap the struct
|
||||
ycbcrOut->sType = ycbcrIn->sType;
|
||||
ycbcrOut->conversion = Unwrap(ycbcrIn->conversion);
|
||||
|
||||
AppendModifiedChainedStruct(tempMem, ycbcrOut, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT)
|
||||
{
|
||||
CopyNextChainedStruct<VkSamplerReductionModeCreateInfoEXT>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportSemaphoreCreateInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR)
|
||||
{
|
||||
#ifdef VK_KHR_external_semaphore_win32
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportSemaphoreWin32HandleInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_KHR_external_semaphore_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportFenceCreateInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR)
|
||||
{
|
||||
#ifdef VK_KHR_external_fence_win32
|
||||
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExportFenceWin32HandleInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
#else
|
||||
RDCERR("Support for VK_KHR_external_fence_win32 not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExternalMemoryImageCreateInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExternalMemoryImageCreateInfoNV>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
{
|
||||
const VkImageSwapchainCreateInfoKHR *swapIn =
|
||||
(const VkImageSwapchainCreateInfoKHR *)nextInput;
|
||||
VkImageSwapchainCreateInfoKHR *swapOut = (VkImageSwapchainCreateInfoKHR *)tempMem;
|
||||
|
||||
// copy and unwrap the struct
|
||||
swapOut->sType = swapIn->sType;
|
||||
swapOut->swapchain = Unwrap(swapIn->swapchain);
|
||||
|
||||
AppendModifiedChainedStruct(tempMem, swapOut, nextChainTail);
|
||||
}
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV)
|
||||
{
|
||||
CopyNextChainedStruct<VkDedicatedAllocationImageCreateInfoNV>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkExternalMemoryBufferCreateInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV)
|
||||
{
|
||||
CopyNextChainedStruct<VkDedicatedAllocationBufferCreateInfoNV>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkBindBufferMemoryDeviceGroupInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
{
|
||||
const VkBindImageMemorySwapchainInfoKHR *swapIn =
|
||||
(const VkBindImageMemorySwapchainInfoKHR *)nextInput;
|
||||
VkBindImageMemorySwapchainInfoKHR *swapOut = (VkBindImageMemorySwapchainInfoKHR *)tempMem;
|
||||
|
||||
// copy and unwrap the struct
|
||||
swapOut->sType = swapIn->sType;
|
||||
swapOut->swapchain = Unwrap(swapIn->swapchain);
|
||||
|
||||
AppendModifiedChainedStruct(tempMem, swapOut, nextChainTail);
|
||||
}
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkBindImageMemoryDeviceGroupInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkBindImagePlaneMemoryInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkSwapchainCounterCreateInfoEXT>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceGroupSwapchainCreateInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceQueueGlobalPriorityCreateInfoEXT>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkProtectedSubmitInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceGroupSubmitInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV ||
|
||||
nextInput->sType == VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)
|
||||
{
|
||||
#if defined(VK_KHR_win32_keyed_mutex) || defined(VK_NV_win32_keyed_mutex)
|
||||
if(IsCaptureMode(state))
|
||||
{
|
||||
// KHR and NV structs are identical
|
||||
const VkWin32KeyedMutexAcquireReleaseInfoKHR *mutexIn =
|
||||
(const VkWin32KeyedMutexAcquireReleaseInfoKHR *)nextInput;
|
||||
VkWin32KeyedMutexAcquireReleaseInfoKHR *mutexOut =
|
||||
(VkWin32KeyedMutexAcquireReleaseInfoKHR *)tempMem;
|
||||
|
||||
// append immediately so tempMem is incremented
|
||||
AppendModifiedChainedStruct(tempMem, mutexOut, nextChainTail);
|
||||
|
||||
// copy sType and pointers we don't need to patch
|
||||
mutexOut->sType = mutexIn->sType;
|
||||
mutexOut->acquireCount = mutexIn->acquireCount;
|
||||
mutexOut->pAcquireKeys = mutexIn->pAcquireKeys;
|
||||
mutexOut->pAcquireTimeouts = mutexIn->pAcquireTimeouts;
|
||||
mutexOut->releaseCount = mutexIn->releaseCount;
|
||||
mutexOut->pReleaseKeys = mutexIn->pReleaseKeys;
|
||||
|
||||
// allocate unwrapped arrays
|
||||
VkDeviceMemory *unwrappedAcquires = (VkDeviceMemory *)tempMem;
|
||||
tempMem += sizeof(VkDeviceMemory) * mutexIn->acquireCount;
|
||||
VkDeviceMemory *unwrappedReleases = (VkDeviceMemory *)tempMem;
|
||||
tempMem += sizeof(VkDeviceMemory) * mutexIn->releaseCount;
|
||||
|
||||
// unwrap the arrays
|
||||
for(uint32_t mem = 0; mem < mutexIn->acquireCount; mem++)
|
||||
unwrappedAcquires[mem] = Unwrap(mutexIn->pAcquireSyncs[mem]);
|
||||
for(uint32_t mem = 0; mem < mutexIn->releaseCount; mem++)
|
||||
unwrappedReleases[mem] = Unwrap(mutexIn->pReleaseSyncs[mem]);
|
||||
|
||||
mutexOut->pAcquireSyncs = unwrappedAcquires;
|
||||
mutexOut->pReleaseSyncs = unwrappedReleases;
|
||||
}
|
||||
#else
|
||||
RDCERR("Support for VK_KHR_win32_keyed_mutex / VK_NV_win32_keyed_mutex not compiled in");
|
||||
#endif
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceGroupBindSparseInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceGroupCommandBufferBeginInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkDeviceGroupRenderPassBeginInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR)
|
||||
{
|
||||
CopyNextChainedStruct<VkImageFormatListCreateInfoKHR>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkRenderPassMultiviewCreateInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkImageViewUsageCreateInfo>(tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkRenderPassInputAttachmentAspectCreateInfo>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType ==
|
||||
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT)
|
||||
{
|
||||
CopyNextChainedStruct<VkPipelineRasterizationConservativeStateCreateInfoEXT>(
|
||||
tempMem, nextInput, nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType ==
|
||||
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO)
|
||||
{
|
||||
CopyNextChainedStruct<VkPipelineTessellationDomainOriginStateCreateInfo>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT)
|
||||
{
|
||||
CopyNextChainedStruct<VkPipelineVertexInputDivisorStateCreateInfoEXT>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else if(nextInput->sType == VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT)
|
||||
{
|
||||
if(IsCaptureMode(state))
|
||||
CopyNextChainedStruct<VkShaderModuleValidationCacheCreateInfoEXT>(tempMem, nextInput,
|
||||
nextChainTail);
|
||||
}
|
||||
else
|
||||
{
|
||||
RDCERR("unrecognised struct %d in %s pNext chain", nextInput->sType, structName);
|
||||
// can't patch this struct, have to just copy it and hope it's the last in the chain
|
||||
nextChainTail->pNext = nextInput;
|
||||
}
|
||||
|
||||
nextInput = nextInput->pNext;
|
||||
}
|
||||
}
|
||||
|
||||
VkAccessFlags MakeAccessMask(VkImageLayout layout)
|
||||
{
|
||||
switch(layout)
|
||||
|
||||
+569
-309
@@ -271,27 +271,30 @@ VkBaseInStructure *FindNextStruct(VkStruct *haystack, VkStructureType needle)
|
||||
template <typename VkStruct>
|
||||
bool RemoveNextStruct(VkStruct *haystack, VkStructureType needle)
|
||||
{
|
||||
bool ret = false;
|
||||
|
||||
// start from the haystack, and iterate
|
||||
VkBaseInStructure *root = (VkBaseInStructure *)haystack;
|
||||
while(root && root->pNext)
|
||||
{
|
||||
// at each point, if the *next* struct is the needle, then point our next pointer at whatever
|
||||
// its was - either the next in the chain or NULL if it was at the end. Then we can return true
|
||||
// because we removed the struct (we assume no duplicates).
|
||||
// because we removed the struct. We keep going to handle duplicates, but we continue and skip
|
||||
// the list iterate as we now have a new root->pNext.
|
||||
// Note that this can't remove the first struct in the chain but that's expected, we only want
|
||||
// to remove extension structs.
|
||||
if(root->pNext->sType == needle)
|
||||
{
|
||||
root->pNext = root->pNext->pNext;
|
||||
return true;
|
||||
ret = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// move to the next struct
|
||||
root = (VkBaseInStructure *)root->pNext;
|
||||
}
|
||||
|
||||
// struct wasn't found, bail
|
||||
return false;
|
||||
return ret;
|
||||
}
|
||||
|
||||
enum class MemoryScope : uint8_t
|
||||
@@ -547,350 +550,607 @@ SERIALISE_VK_HANDLES();
|
||||
|
||||
// declare reflect-able types
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(VkAllocationCallbacks);
|
||||
DECLARE_REFLECTION_STRUCT(VkOffset2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkExtent2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryType);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryHeap);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLimits);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSparseProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkQueueFamilyProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkExtent3D);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineShaderStageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkOffset3D);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandBufferInheritanceInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineVertexInputStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseBufferMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageOpaqueMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDependency);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearColorValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearDepthStencilValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearAttachment);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearRect);
|
||||
DECLARE_REFLECTION_STRUCT(VkViewport);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineColorBlendAttachmentState);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolSize);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorImageInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorBufferInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSpecializationInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReference);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryBind);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputBindingDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputAttributeDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkSpecializationMapEntry);
|
||||
DECLARE_REFLECTION_STRUCT(VkRect2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferViewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryRequirements);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseMemoryBind);
|
||||
// pNext structs - always have deserialise for the next chain
|
||||
DECLARE_REFLECTION_STRUCT(VkAcquireNextImageInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkApplicationInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentDescription2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReference2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryDeviceGroupInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemoryDeviceGroupInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindSparseInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkFramebufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineInputAssemblyStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineTessellationStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineViewportStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineRasterizationStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineMultisampleStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineDepthStencilStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineColorBlendStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineDynamicStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineLayoutCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPushConstantRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetLayoutBinding);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetLayoutCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkWriteDescriptorSet);
|
||||
DECLARE_REFLECTION_STRUCT(VkCopyDescriptorSet);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferMemoryBarrier);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferMemoryRequirementsInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferViewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandBufferAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandBufferBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkStencilOpState);
|
||||
DECLARE_REFLECTION_STRUCT(VkQueryPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSemaphoreCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandBufferInheritanceInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCommandPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkComputePipelineCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCopyDescriptorSet);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerObjectNameInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerObjectTagInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugReportCallbackCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsLabelEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsMessengerCallbackDataEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsMessengerCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsObjectNameInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsObjectTagInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetLayoutCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetLayoutSupport);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorUpdateTemplateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceEventInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupBindSparseInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupCommandBufferBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupDeviceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupPresentCapabilitiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupPresentInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupRenderPassBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueGlobalPriorityCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayEventInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayModeProperties2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPlaneCapabilities2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPlaneInfo2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPlaneProperties2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPowerInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPresentInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayProperties2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkEventCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportFenceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryAllocateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportSemaphoreCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalBufferProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalFenceProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalImageFormatProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryBufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryImageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryImageCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalSemaphoreProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkFenceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineCacheCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkShaderModuleCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresourceRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresource);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresourceLayers);
|
||||
DECLARE_REFLECTION_STRUCT(VkFenceGetFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkFormatProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkFramebufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageFormatListCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageFormatProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageMemoryBarrier);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageMemoryRequirementsInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkImagePlaneMemoryRequirementsInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSparseMemoryRequirementsInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewASTCDecodeModeEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewUsageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportFenceFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportSemaphoreFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkInstanceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkLayerDeviceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkLayerInstanceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkMappedMemoryRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryAllocateFlagsInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryBarrier);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferMemoryBarrier);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageMemoryBarrier);
|
||||
DECLARE_REFLECTION_STRUCT(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkComputePipelineCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkComponentMapping);
|
||||
DECLARE_REFLECTION_STRUCT(VkMappedMemoryRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferImageCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageBlit);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageResolve);
|
||||
DECLARE_REFLECTION_STRUCT(VkSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorUpdateTemplateEntry);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorUpdateTemplateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineRasterizationConservativeStateCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineTessellationDomainOriginStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewUsageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkInputAttachmentAspectReference);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassInputAttachmentAspectCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputBindingDivisorDescriptionEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineVertexInputDivisorStateCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerReductionModeCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugUtilsLabelEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerYcbcrConversionCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassMultiviewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryAllocateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryImageCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryImageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryBufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportSemaphoreCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportFenceCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSwapchainCounterCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryDedicatedAllocateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceQueueGlobalPriorityCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerYcbcrConversionInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImageMemoryDeviceGroupInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryDeviceGroupInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupBindSparseInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupCommandBufferBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDeviceGroupRenderPassBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryAllocateFlagsInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkProtectedSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageFormatListCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewASTCDecodeModeEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkShaderModuleValidationCacheCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentDescription2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDescription2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDependency2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReference2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassCreateInfo2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassBeginInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassEndInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDispatchIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkDrawIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkDrawIndexedIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryDedicatedRequirements);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryFdPropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryGetFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryRequirements2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDevice16BitStorageFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDevice8BitStorageFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceASTCDecodeFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDriverPropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceExternalBufferInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceExternalFenceInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceExternalImageFormatInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceExternalSemaphoreInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFeatures2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceGroupProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceIDProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceImageFormatInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMaintenance3Properties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMultiviewFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMultiviewProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDevicePCIBusInfoPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDevicePointClippingProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceProtectedMemoryFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceProtectedMemoryProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDevicePushDescriptorPropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderCorePropertiesAMD);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceShaderDrawParameterFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSparseImageFormatInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSubgroupProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSurfaceInfo2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceVariablePointerFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceVulkanMemoryModelFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineCacheCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineColorBlendStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineDepthStencilStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineDynamicStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineInputAssemblyStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineLayoutCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineMultisampleStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineRasterizationConservativeStateCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineRasterizationStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineRasterizationStateStreamCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineShaderStageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineTessellationDomainOriginStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineTessellationStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineVertexInputDivisorStateCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineVertexInputStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineViewportStateCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkPresentInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPresentRegionsKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkProtectedSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkQueryPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkQueueFamilyProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassBeginInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassCreateInfo2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassInputAttachmentAspectCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkRenderPassMultiviewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerReductionModeCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerYcbcrConversionCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerYcbcrConversionImageFormatProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerYcbcrConversionInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSemaphoreCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSemaphoreGetFdInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkShaderModuleCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkShaderModuleValidationCacheCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSharedPresentSurfaceCapabilitiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageFormatProperties2);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryRequirements2);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubmitInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassBeginInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDependency2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDescription2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassEndInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSurfaceCapabilities2EXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSurfaceCapabilities2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSurfaceFormat2KHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSwapchainCounterCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkTextureLODGatherFormatPropertiesAMD);
|
||||
DECLARE_REFLECTION_STRUCT(VkValidationCacheCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkValidationFlagsEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkWriteDescriptorSet);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferViewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkAcquireNextImageInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkApplicationInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkAttachmentDescription2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkAttachmentReference2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindBufferMemoryDeviceGroupInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindBufferMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemoryDeviceGroupInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindSparseInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkFramebufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandBufferBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferMemoryBarrier);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferMemoryRequirementsInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferViewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandBufferAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineCacheCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineLayoutCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkShaderModuleCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandBufferBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandBufferInheritanceInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCommandPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkComputePipelineCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCopyDescriptorSet);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerObjectNameInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerObjectTagInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugReportCallbackCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsLabelEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsMessengerCallbackDataEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsMessengerCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsObjectNameInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsObjectTagInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkQueryPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSemaphoreCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetLayoutCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetLayoutSupport);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorUpdateTemplateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceEventInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupBindSparseInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupCommandBufferBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupDeviceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupPresentCapabilitiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupPresentInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupRenderPassBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceQueueCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceQueueGlobalPriorityCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceQueueInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayEventInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayModeProperties2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayPlaneCapabilities2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayPlaneInfo2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayPlaneProperties2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayPowerInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayPresentInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDisplayProperties2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkEventCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportFenceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryAllocateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportSemaphoreCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalBufferProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalFenceProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalImageFormatProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalMemoryBufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalMemoryImageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalMemoryImageCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalSemaphoreProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkFenceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkFenceGetFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkFormatProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkFramebufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageFormatListCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageFormatProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageMemoryBarrier);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageMemoryRequirementsInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkImagePlaneMemoryRequirementsInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageSparseMemoryRequirementsInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewASTCDecodeModeEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewUsageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportFenceFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportSemaphoreFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkInstanceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkLayerDeviceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkLayerInstanceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkMappedMemoryRange);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryAllocateFlagsInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryBarrier);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferMemoryBarrier);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageMemoryBarrier);
|
||||
DECLARE_DESERIALISE_TYPE(VkWriteDescriptorSet);
|
||||
DECLARE_DESERIALISE_TYPE(VkCopyDescriptorSet);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetLayoutCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorUpdateTemplateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkMappedMemoryRange);
|
||||
DECLARE_DESERIALISE_TYPE(VkSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindBufferMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineRasterizationConservativeStateCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineTessellationDomainOriginStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewUsageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassInputAttachmentAspectCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineVertexInputDivisorStateCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerReductionModeCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugUtilsLabelEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerYcbcrConversionCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassMultiviewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceQueueInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryAllocateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalMemoryImageCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExternalMemoryBufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportSemaphoreCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportFenceCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSwapchainCounterCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryDedicatedAllocateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceQueueGlobalPriorityCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerYcbcrConversionInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImageMemoryDeviceGroupInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindBufferMemoryDeviceGroupInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupBindSparseInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupCommandBufferBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDeviceGroupRenderPassBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryAllocateFlagsInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkProtectedSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageFormatListCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassCreateInfo2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassBeginInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassEndInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryDedicatedRequirements);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryFdPropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryGetFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryRequirements2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDevice16BitStorageFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDevice8BitStorageFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceASTCDecodeFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDriverPropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceExternalBufferInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceExternalFenceInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceExternalImageFormatInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceExternalSemaphoreInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceFeatures2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceGroupProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceIDProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceImageFormatInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMaintenance3Properties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMemoryProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMultiviewFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceMultiviewProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDevicePCIBusInfoPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDevicePointClippingProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceProtectedMemoryFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceProtectedMemoryProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDevicePushDescriptorPropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderCorePropertiesAMD);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceShaderDrawParameterFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSparseImageFormatInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSubgroupProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceSurfaceInfo2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceVariablePointerFeatures);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceVulkanMemoryModelFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineCacheCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineColorBlendStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineDepthStencilStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineDynamicStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineInputAssemblyStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineLayoutCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineMultisampleStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineRasterizationConservativeStateCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineRasterizationStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineRasterizationStateStreamCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineShaderStageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineTessellationDomainOriginStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineTessellationStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineVertexInputDivisorStateCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineVertexInputStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPipelineViewportStateCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkPresentInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPresentRegionsKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkProtectedSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkQueryPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkQueueFamilyProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassBeginInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassCreateInfo2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassInputAttachmentAspectCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkRenderPassMultiviewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerReductionModeCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerYcbcrConversionCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerYcbcrConversionImageFormatProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerYcbcrConversionInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSemaphoreCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSemaphoreGetFdInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkShaderModuleCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkShaderModuleValidationCacheCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSharedPresentSurfaceCapabilitiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSparseImageFormatProperties2);
|
||||
DECLARE_DESERIALISE_TYPE(VkSparseImageMemoryRequirements2);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubmitInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassBeginInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassDependency2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassDescription2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassEndInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSurfaceCapabilities2EXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSurfaceCapabilities2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSurfaceFormat2KHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSwapchainCounterCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkTextureLODGatherFormatPropertiesAMD);
|
||||
DECLARE_DESERIALISE_TYPE(VkValidationCacheCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkValidationFlagsEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkWriteDescriptorSet);
|
||||
|
||||
#if defined(VK_KHR_external_memory_win32) || defined(VK_NV_external_memory_win32)
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryWin32HandleInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryWin32HandleInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryWin32HandleInfoKHR);
|
||||
// plain structs with no next chain
|
||||
DECLARE_REFLECTION_STRUCT(VkAllocationCallbacks);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReference);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferImageCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearAttachment);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearColorValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearDepthStencilValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearRect);
|
||||
DECLARE_REFLECTION_STRUCT(VkClearValue);
|
||||
DECLARE_REFLECTION_STRUCT(VkComponentMapping);
|
||||
DECLARE_REFLECTION_STRUCT(VkConformanceVersionKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorBufferInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorImageInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolSize);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetLayoutBinding);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorUpdateTemplateEntry);
|
||||
DECLARE_REFLECTION_STRUCT(VkDispatchIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayModeParametersKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayModePropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPlaneCapabilitiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPlanePropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDisplayPropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkDrawIndexedIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkDrawIndirectCommand);
|
||||
DECLARE_REFLECTION_STRUCT(VkExtent2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkExtent3D);
|
||||
DECLARE_REFLECTION_STRUCT(VkExternalMemoryProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkFormatProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageBlit);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCopy);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageFormatProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageResolve);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresource);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresourceLayers);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresourceRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkInputAttachmentAspectReference);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryHeap);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryRequirements);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryType);
|
||||
DECLARE_REFLECTION_STRUCT(VkOffset2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkOffset3D);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceFeatures);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceLimits);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceMemoryProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceSparseProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPipelineColorBlendAttachmentState);
|
||||
DECLARE_REFLECTION_STRUCT(VkPresentRegionKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPushConstantRange);
|
||||
DECLARE_REFLECTION_STRUCT(VkQueueFamilyProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkRect2D);
|
||||
DECLARE_REFLECTION_STRUCT(VkRectLayerKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseBufferMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageFormatProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryBind);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageMemoryRequirements);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseImageOpaqueMemoryBindInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSparseMemoryBind);
|
||||
DECLARE_REFLECTION_STRUCT(VkSpecializationInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSpecializationMapEntry);
|
||||
DECLARE_REFLECTION_STRUCT(VkStencilOpState);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDependency);
|
||||
DECLARE_REFLECTION_STRUCT(VkSubpassDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkSurfaceCapabilitiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSurfaceFormatKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputAttributeDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputBindingDescription);
|
||||
DECLARE_REFLECTION_STRUCT(VkVertexInputBindingDivisorDescriptionEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkViewport);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryWin32HandleInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryWin32HandleInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryWin32HandleInfoKHR);
|
||||
#endif
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetLayoutBinding);
|
||||
DECLARE_DESERIALISE_TYPE(VkPresentRegionKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSparseBufferMemoryBindInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSparseImageMemoryBindInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSparseImageOpaqueMemoryBindInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSpecializationInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSubpassDescription);
|
||||
|
||||
#ifdef VK_KHR_external_fence_win32
|
||||
// win32 only structs
|
||||
#if ENABLED(RDOC_WIN32)
|
||||
DECLARE_REFLECTION_STRUCT(VkD3D12FenceSubmitInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportFenceWin32HandleInfoKHR);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkExportFenceWin32HandleInfoKHR);
|
||||
#endif
|
||||
|
||||
#ifdef VK_KHR_external_semaphore_win32
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportMemoryWin32HandleInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkExportSemaphoreWin32HandleInfoKHR);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkExportSemaphoreWin32HandleInfoKHR);
|
||||
#endif
|
||||
|
||||
#if defined(VK_KHR_win32_keyed_mutex) || defined(VK_NV_win32_keyed_mutex)
|
||||
DECLARE_REFLECTION_STRUCT(VkWin32KeyedMutexAcquireReleaseInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkFenceGetWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportFenceWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportMemoryWin32HandleInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkImportSemaphoreWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryGetWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkMemoryWin32HandlePropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkSemaphoreGetWin32HandleInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkWin32KeyedMutexAcquireReleaseInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkWin32KeyedMutexAcquireReleaseInfoNV);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkWin32KeyedMutexAcquireReleaseInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkD3D12FenceSubmitInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportFenceWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportMemoryWin32HandleInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkExportSemaphoreWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkFenceGetWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportFenceWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportMemoryWin32HandleInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkImportSemaphoreWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryGetWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkMemoryWin32HandlePropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkSemaphoreGetWin32HandleInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkWin32KeyedMutexAcquireReleaseInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkWin32KeyedMutexAcquireReleaseInfoNV);
|
||||
#endif
|
||||
|
||||
// enums
|
||||
|
||||
DECLARE_REFLECTION_ENUM(VkFlagWithNoBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueueFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineStageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkBufferUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkBufferCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSparseMemoryBindFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandPoolCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandPoolResetFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandBufferUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorPoolCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkFenceCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryPipelineStatisticFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryControlFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryResultFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkAttachmentDescriptionFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSampleCountFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageAspectFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDependencyFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkShaderStageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryHeapFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryPropertyFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkAccessFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkStencilFaceFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCullModeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineBindPoint);
|
||||
DECLARE_REFLECTION_ENUM(VkIndexType);
|
||||
DECLARE_REFLECTION_ENUM(VkImageType);
|
||||
DECLARE_REFLECTION_ENUM(VkImageTiling);
|
||||
DECLARE_REFLECTION_ENUM(VkImageViewType);
|
||||
DECLARE_REFLECTION_ENUM(VkVertexInputRate);
|
||||
DECLARE_REFLECTION_ENUM(VkPolygonMode);
|
||||
DECLARE_REFLECTION_ENUM(VkFrontFace);
|
||||
DECLARE_REFLECTION_ENUM(VkBlendFactor);
|
||||
DECLARE_REFLECTION_ENUM(VkBlendOp);
|
||||
DECLARE_REFLECTION_ENUM(VkDynamicState);
|
||||
DECLARE_REFLECTION_ENUM(VkAttachmentDescriptionFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkAttachmentLoadOp);
|
||||
DECLARE_REFLECTION_ENUM(VkAttachmentStoreOp);
|
||||
DECLARE_REFLECTION_ENUM(VkStencilOp);
|
||||
DECLARE_REFLECTION_ENUM(VkLogicOp);
|
||||
DECLARE_REFLECTION_ENUM(VkCompareOp);
|
||||
DECLARE_REFLECTION_ENUM(VkFilter);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerMipmapMode);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerAddressMode);
|
||||
DECLARE_REFLECTION_ENUM(VkBlendFactor);
|
||||
DECLARE_REFLECTION_ENUM(VkBlendOp);
|
||||
DECLARE_REFLECTION_ENUM(VkBorderColor);
|
||||
DECLARE_REFLECTION_ENUM(VkPrimitiveTopology);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorType);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryType);
|
||||
DECLARE_REFLECTION_ENUM(VkPhysicalDeviceType);
|
||||
DECLARE_REFLECTION_ENUM(VkSharingMode);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandBufferLevel);
|
||||
DECLARE_REFLECTION_ENUM(VkSubpassContents);
|
||||
DECLARE_REFLECTION_ENUM(VkImageLayout);
|
||||
DECLARE_REFLECTION_ENUM(VkStructureType);
|
||||
DECLARE_REFLECTION_ENUM(VkComponentSwizzle);
|
||||
DECLARE_REFLECTION_ENUM(VkFormat);
|
||||
DECLARE_REFLECTION_ENUM(VkResult);
|
||||
DECLARE_REFLECTION_ENUM(VkSurfaceTransformFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkCompositeAlphaFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkBufferCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkBufferUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkChromaLocation);
|
||||
DECLARE_REFLECTION_ENUM(VkColorSpaceKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkPresentModeKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorUpdateTemplateType);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandBufferLevel);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandBufferUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandPoolCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCommandPoolResetFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCompareOp);
|
||||
DECLARE_REFLECTION_ENUM(VkComponentSwizzle);
|
||||
DECLARE_REFLECTION_ENUM(VkCompositeAlphaFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkConservativeRasterizationModeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkTessellationDomainOrigin);
|
||||
DECLARE_REFLECTION_ENUM(VkCullModeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDebugReportFlagBitsEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDebugUtilsMessageSeverityFlagBitsEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDebugUtilsMessageTypeFlagBitsEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDependencyFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorPoolCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorSetLayoutCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorType);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorUpdateTemplateType);
|
||||
DECLARE_REFLECTION_ENUM(VkDeviceGroupPresentModeFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkDeviceQueueCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDynamicState);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalFenceHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalMemoryHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalMemoryHandleTypeFlagBitsNV);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalSemaphoreHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkFenceCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkFilter);
|
||||
DECLARE_REFLECTION_ENUM(VkFormat);
|
||||
DECLARE_REFLECTION_ENUM(VkFrontFace);
|
||||
DECLARE_REFLECTION_ENUM(VkImageAspectFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageLayout);
|
||||
DECLARE_REFLECTION_ENUM(VkImageTiling);
|
||||
DECLARE_REFLECTION_ENUM(VkImageType);
|
||||
DECLARE_REFLECTION_ENUM(VkImageUsageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkImageViewType);
|
||||
DECLARE_REFLECTION_ENUM(VkIndexType);
|
||||
DECLARE_REFLECTION_ENUM(VkLogicOp);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryAllocateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryHeapFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryPropertyFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPhysicalDeviceType);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineBindPoint);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPipelineStageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkPolygonMode);
|
||||
DECLARE_REFLECTION_ENUM(VkPresentModeKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkPrimitiveTopology);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryControlFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryPipelineStatisticFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryResultFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueryType);
|
||||
DECLARE_REFLECTION_ENUM(VkQueueFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkQueueGlobalPriorityEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkResult);
|
||||
DECLARE_REFLECTION_ENUM(VkSampleCountFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerAddressMode);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerMipmapMode);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerReductionModeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerYcbcrModelConversion);
|
||||
DECLARE_REFLECTION_ENUM(VkSamplerYcbcrRange);
|
||||
DECLARE_REFLECTION_ENUM(VkChromaLocation);
|
||||
DECLARE_REFLECTION_ENUM(VkDeviceQueueCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkShaderStageFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSharingMode);
|
||||
DECLARE_REFLECTION_ENUM(VkSparseMemoryBindFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkStencilFaceFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkStencilOp);
|
||||
DECLARE_REFLECTION_ENUM(VkStructureType);
|
||||
DECLARE_REFLECTION_ENUM(VkSubpassContents);
|
||||
DECLARE_REFLECTION_ENUM(VkSubpassDescriptionFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDescriptorSetLayoutCreateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSwapchainCreateFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalMemoryHandleTypeFlagBitsNV);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalMemoryHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalSemaphoreHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalFenceHandleTypeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSurfaceCounterFlagBitsEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkQueueGlobalPriorityEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDeviceGroupPresentModeFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkMemoryAllocateFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkSurfaceTransformFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkSwapchainCreateFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkTessellationDomainOrigin);
|
||||
DECLARE_REFLECTION_ENUM(VkVertexInputRate);
|
||||
|
||||
DECLARE_REFLECTION_ENUM(VkDeviceEventTypeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkValidationCheckEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDriverIdKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkSemaphoreImportFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkFenceImportFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalSemaphoreFeatureFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalFenceFeatureFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDisplayPowerStateEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkDisplayEventTypeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkSparseImageFormatFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkFormatFeatureFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkExternalMemoryFeatureFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDisplayPlaneAlphaFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkPointClippingBehavior);
|
||||
DECLARE_REFLECTION_ENUM(VkSubgroupFeatureFlagBits);
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -711,6 +711,45 @@ std::string DoStringise(const VkDeviceGroupPresentModeFlagBitsKHR &el)
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDebugReportFlagBitsEXT &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkDebugReportFlagBitsEXT);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_REPORT_INFORMATION_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_REPORT_WARNING_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_REPORT_ERROR_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_REPORT_DEBUG_BIT_EXT);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDebugUtilsMessageSeverityFlagBitsEXT &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkDebugUtilsMessageSeverityFlagBitsEXT);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDebugUtilsMessageTypeFlagBitsEXT &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkDebugUtilsMessageTypeFlagBitsEXT);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT);
|
||||
STRINGISE_BITFIELD_BIT(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkMemoryAllocateFlagBits &el)
|
||||
{
|
||||
@@ -1823,50 +1862,32 @@ std::string DoStringise(const VkResult &el)
|
||||
template <>
|
||||
std::string DoStringise(const VkSurfaceTransformFlagBitsKHR &el)
|
||||
{
|
||||
string ret;
|
||||
if(el & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR";
|
||||
if(el & VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)
|
||||
ret += " | VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR";
|
||||
|
||||
if(!ret.empty())
|
||||
ret = ret.substr(3);
|
||||
|
||||
return ret;
|
||||
BEGIN_BITFIELD_STRINGISE(VkSurfaceTransformFlagBitsKHR);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkCompositeAlphaFlagBitsKHR &el)
|
||||
{
|
||||
string ret;
|
||||
|
||||
if(el & VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR)
|
||||
ret += " | VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR";
|
||||
if(el & VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR)
|
||||
ret += " | VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR";
|
||||
if(el & VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR)
|
||||
ret += " | VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR";
|
||||
if(el & VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)
|
||||
ret += " | VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR";
|
||||
|
||||
if(!ret.empty())
|
||||
ret = ret.substr(3);
|
||||
|
||||
return ret;
|
||||
BEGIN_BITFIELD_STRINGISE(VkCompositeAlphaFlagBitsKHR);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR);
|
||||
STRINGISE_BITFIELD_BIT(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -1993,44 +2014,44 @@ std::string DoStringise(const VkChromaLocation &el)
|
||||
template <>
|
||||
std::string DoStringise(const VkDeviceQueueCreateFlagBits &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDeviceQueueCreateFlagBits);
|
||||
BEGIN_BITFIELD_STRINGISE(VkDeviceQueueCreateFlagBits);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkSubpassDescriptionFlagBits &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkSubpassDescriptionFlagBits);
|
||||
BEGIN_BITFIELD_STRINGISE(VkSubpassDescriptionFlagBits);
|
||||
{
|
||||
STRINGISE_ENUM(VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX)
|
||||
STRINGISE_ENUM(VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDescriptorSetLayoutCreateFlagBits &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDescriptorSetLayoutCreateFlagBits);
|
||||
BEGIN_BITFIELD_STRINGISE(VkDescriptorSetLayoutCreateFlagBits);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR)
|
||||
STRINGISE_ENUM(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT)
|
||||
STRINGISE_BITFIELD_BIT(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkSwapchainCreateFlagBitsKHR &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkSwapchainCreateFlagBitsKHR);
|
||||
BEGIN_BITFIELD_STRINGISE(VkSwapchainCreateFlagBitsKHR);
|
||||
{
|
||||
STRINGISE_ENUM(VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR)
|
||||
STRINGISE_ENUM(VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -2046,6 +2067,212 @@ std::string DoStringise(const VkQueueGlobalPriorityEXT &el)
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDeviceEventTypeEXT &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDeviceEventTypeEXT);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkValidationCheckEXT &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkValidationCheckEXT);
|
||||
{
|
||||
STRINGISE_ENUM(VK_VALIDATION_CHECK_ALL_EXT)
|
||||
STRINGISE_ENUM(VK_VALIDATION_CHECK_SHADERS_EXT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDriverIdKHR &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDriverIdKHR);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_AMD_PROPRIETARY_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_MESA_RADV_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_ARM_PROPRIETARY_KHR)
|
||||
STRINGISE_ENUM(VK_DRIVER_ID_GOOGLE_PASTEL_KHR)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDisplayPowerStateEXT &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDisplayPowerStateEXT);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DISPLAY_POWER_STATE_OFF_EXT)
|
||||
STRINGISE_ENUM(VK_DISPLAY_POWER_STATE_SUSPEND_EXT)
|
||||
STRINGISE_ENUM(VK_DISPLAY_POWER_STATE_ON_EXT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDisplayEventTypeEXT &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkDisplayEventTypeEXT);
|
||||
{
|
||||
STRINGISE_ENUM(VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkPointClippingBehavior &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(VkPointClippingBehavior);
|
||||
{
|
||||
STRINGISE_ENUM(VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES)
|
||||
STRINGISE_ENUM(VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkSemaphoreImportFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkSemaphoreImportFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkFenceImportFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkFenceImportFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_FENCE_IMPORT_TEMPORARY_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkExternalSemaphoreFeatureFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkExternalSemaphoreFeatureFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkExternalFenceFeatureFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkExternalFenceFeatureFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkSparseImageFormatFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkSparseImageFormatFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkFormatFeatureFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkFormatFeatureFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_BLIT_SRC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_BLIT_DST_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_TRANSFER_DST_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT)
|
||||
STRINGISE_BITFIELD_BIT(
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT)
|
||||
STRINGISE_BITFIELD_BIT(
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT)
|
||||
STRINGISE_BITFIELD_BIT(
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_DISJOINT_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG)
|
||||
STRINGISE_BITFIELD_BIT(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkExternalMemoryFeatureFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkExternalMemoryFeatureFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDisplayPlaneAlphaFlagBitsKHR &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkDisplayPlaneAlphaFlagBitsKHR);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR)
|
||||
STRINGISE_BITFIELD_BIT(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkSubgroupFeatureFlagBits &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkSubgroupFeatureFlagBits);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_BASIC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_VOTE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_ARITHMETIC_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_BALLOT_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_SHUFFLE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_CLUSTERED_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_QUAD_BIT)
|
||||
STRINGISE_BITFIELD_BIT(VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV)
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkExtent3D &el)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user