blob: 21612e22ed9aae079c7629d6ac5b76aa282701be [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
// Copyright (C) 2018 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Autogenerated module goldfish_vk_counting_guest
// (impl) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
// Please do not modify directly;
// re-run android/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
#include "goldfish_vk_counting_guest.h"
#include "goldfish_vk_extension_structs_guest.h"
#include "goldfish_vk_private_defs.h"
namespace goldfish_vk {
void count_extension_struct(
uint32_t featureBits,
const void* structExtension,
size_t* count);
#ifdef VK_VERSION_1_0
void count_VkApplicationInfo(
uint32_t featureBits,
const VkApplicationInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
{
// WARNING PTR CHECK
*count += 8;
if (toCount->pApplicationName)
{
*count += sizeof(uint32_t) + (toCount->pApplicationName ? strlen(toCount->pApplicationName) : 0);
}
}
else
{
*count += sizeof(uint32_t) + (toCount->pApplicationName ? strlen(toCount->pApplicationName) : 0);
}
*count += sizeof(uint32_t);
if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
{
// WARNING PTR CHECK
*count += 8;
if (toCount->pEngineName)
{
*count += sizeof(uint32_t) + (toCount->pEngineName ? strlen(toCount->pEngineName) : 0);
}
}
else
{
*count += sizeof(uint32_t) + (toCount->pEngineName ? strlen(toCount->pEngineName) : 0);
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkInstanceCreateInfo(
uint32_t featureBits,
const VkInstanceCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkInstanceCreateFlags);
// WARNING PTR CHECK
*count += 8;
if (toCount->pApplicationInfo)
{
count_VkApplicationInfo(featureBits, (const VkApplicationInfo*)(toCount->pApplicationInfo), count);
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < toCount->enabledLayerCount; ++i)
{
size_t l = toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0;
*count += sizeof(uint32_t) + (toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0);
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < toCount->enabledExtensionCount; ++i)
{
size_t l = toCount->ppEnabledExtensionNames[i] ? strlen(toCount->ppEnabledExtensionNames[i]) : 0;
*count += sizeof(uint32_t) + (toCount->ppEnabledExtensionNames[i] ? strlen(toCount->ppEnabledExtensionNames[i]) : 0);
}
}
void count_VkAllocationCallbacks(
uint32_t featureBits,
const VkAllocationCallbacks* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
// WARNING PTR CHECK
*count += 8;
if (toCount->pUserData)
{
*count += sizeof(uint8_t);
}
*count += 8;
*count += 8;
*count += 8;
*count += 8;
*count += 8;
}
void count_VkPhysicalDeviceFeatures(
uint32_t featureBits,
const VkPhysicalDeviceFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkFormatProperties(
uint32_t featureBits,
const VkFormatProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkFormatFeatureFlags);
*count += sizeof(VkFormatFeatureFlags);
*count += sizeof(VkFormatFeatureFlags);
}
void count_VkExtent3D(
uint32_t featureBits,
const VkExtent3D* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkImageFormatProperties(
uint32_t featureBits,
const VkImageFormatProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->maxExtent), count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkDeviceSize);
}
void count_VkPhysicalDeviceLimits(
uint32_t featureBits,
const VkPhysicalDeviceLimits* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 3 * sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 3 * sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(uint32_t);
*count += 2 * sizeof(uint32_t);
*count += 2 * sizeof(float);
*count += sizeof(uint32_t);
*count += 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(int32_t);
*count += sizeof(uint32_t);
*count += sizeof(int32_t);
*count += sizeof(uint32_t);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(uint32_t);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(VkSampleCountFlags);
*count += sizeof(uint32_t);
*count += sizeof(VkBool32);
*count += sizeof(float);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 2 * sizeof(float);
*count += 2 * sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkPhysicalDeviceSparseProperties(
uint32_t featureBits,
const VkPhysicalDeviceSparseProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceProperties(
uint32_t featureBits,
const VkPhysicalDeviceProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkPhysicalDeviceType);
*count += VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char);
*count += VK_UUID_SIZE * sizeof(uint8_t);
count_VkPhysicalDeviceLimits(featureBits, (VkPhysicalDeviceLimits*)(&toCount->limits), count);
count_VkPhysicalDeviceSparseProperties(featureBits, (VkPhysicalDeviceSparseProperties*)(&toCount->sparseProperties), count);
}
void count_VkQueueFamilyProperties(
uint32_t featureBits,
const VkQueueFamilyProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkQueueFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->minImageTransferGranularity), count);
}
void count_VkMemoryType(
uint32_t featureBits,
const VkMemoryType* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkMemoryPropertyFlags);
*count += sizeof(uint32_t);
}
void count_VkMemoryHeap(
uint32_t featureBits,
const VkMemoryHeap* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkMemoryHeapFlags);
}
void count_VkPhysicalDeviceMemoryProperties(
uint32_t featureBits,
const VkPhysicalDeviceMemoryProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
{
count_VkMemoryType(featureBits, (VkMemoryType*)(toCount->memoryTypes + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
{
count_VkMemoryHeap(featureBits, (VkMemoryHeap*)(toCount->memoryHeaps + i), count);
}
}
void count_VkDeviceQueueCreateInfo(
uint32_t featureBits,
const VkDeviceQueueCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceQueueCreateFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += toCount->queueCount * sizeof(const float);
}
void count_VkDeviceCreateInfo(
uint32_t featureBits,
const VkDeviceCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->queueCreateInfoCount; ++i)
{
count_VkDeviceQueueCreateInfo(featureBits, (const VkDeviceQueueCreateInfo*)(toCount->pQueueCreateInfos + i), count);
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < toCount->enabledLayerCount; ++i)
{
size_t l = toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0;
*count += sizeof(uint32_t) + (toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0);
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < toCount->enabledExtensionCount; ++i)
{
size_t l = toCount->ppEnabledExtensionNames[i] ? strlen(toCount->ppEnabledExtensionNames[i]) : 0;
*count += sizeof(uint32_t) + (toCount->ppEnabledExtensionNames[i] ? strlen(toCount->ppEnabledExtensionNames[i]) : 0);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pEnabledFeatures)
{
count_VkPhysicalDeviceFeatures(featureBits, (const VkPhysicalDeviceFeatures*)(toCount->pEnabledFeatures), count);
}
}
void count_VkExtensionProperties(
uint32_t featureBits,
const VkExtensionProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
*count += sizeof(uint32_t);
}
void count_VkLayerProperties(
uint32_t featureBits,
const VkLayerProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
}
void count_VkSubmitInfo(
uint32_t featureBits,
const VkSubmitInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->waitSemaphoreCount)
{
*count += toCount->waitSemaphoreCount * 8;
}
*count += toCount->waitSemaphoreCount * sizeof(const VkPipelineStageFlags);
*count += sizeof(uint32_t);
if (toCount->commandBufferCount)
{
*count += toCount->commandBufferCount * 8;
}
*count += sizeof(uint32_t);
if (toCount->signalSemaphoreCount)
{
*count += toCount->signalSemaphoreCount * 8;
}
}
void count_VkMemoryAllocateInfo(
uint32_t featureBits,
const VkMemoryAllocateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceSize);
*count += sizeof(uint32_t);
}
void count_VkMappedMemoryRange(
uint32_t featureBits,
const VkMappedMemoryRange* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_3;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkMemoryRequirements(
uint32_t featureBits,
const VkMemoryRequirements* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(uint32_t);
}
void count_VkSparseImageFormatProperties(
uint32_t featureBits,
const VkSparseImageFormatProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkImageAspectFlags);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->imageGranularity), count);
*count += sizeof(VkSparseImageFormatFlags);
}
void count_VkSparseImageMemoryRequirements(
uint32_t featureBits,
const VkSparseImageMemoryRequirements* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkSparseImageFormatProperties(featureBits, (VkSparseImageFormatProperties*)(&toCount->formatProperties), count);
*count += sizeof(uint32_t);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkSparseMemoryBind(
uint32_t featureBits,
const VkSparseMemoryBind* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
uint64_t cgen_var_4;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkSparseMemoryBindFlags);
}
void count_VkSparseBufferMemoryBindInfo(
uint32_t featureBits,
const VkSparseBufferMemoryBindInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_5;
*count += 1 * 8;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i)
{
count_VkSparseMemoryBind(featureBits, (const VkSparseMemoryBind*)(toCount->pBinds + i), count);
}
}
void count_VkSparseImageOpaqueMemoryBindInfo(
uint32_t featureBits,
const VkSparseImageOpaqueMemoryBindInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_6;
*count += 1 * 8;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i)
{
count_VkSparseMemoryBind(featureBits, (const VkSparseMemoryBind*)(toCount->pBinds + i), count);
}
}
void count_VkImageSubresource(
uint32_t featureBits,
const VkImageSubresource* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkImageAspectFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkOffset3D(
uint32_t featureBits,
const VkOffset3D* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(int32_t);
*count += sizeof(int32_t);
*count += sizeof(int32_t);
}
void count_VkSparseImageMemoryBind(
uint32_t featureBits,
const VkSparseImageMemoryBind* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkImageSubresource(featureBits, (VkImageSubresource*)(&toCount->subresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->offset), count);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->extent), count);
uint64_t cgen_var_7;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkSparseMemoryBindFlags);
}
void count_VkSparseImageMemoryBindInfo(
uint32_t featureBits,
const VkSparseImageMemoryBindInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_8;
*count += 1 * 8;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i)
{
count_VkSparseImageMemoryBind(featureBits, (const VkSparseImageMemoryBind*)(toCount->pBinds + i), count);
}
}
void count_VkBindSparseInfo(
uint32_t featureBits,
const VkBindSparseInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->waitSemaphoreCount)
{
*count += toCount->waitSemaphoreCount * 8;
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->bufferBindCount; ++i)
{
count_VkSparseBufferMemoryBindInfo(featureBits, (const VkSparseBufferMemoryBindInfo*)(toCount->pBufferBinds + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->imageOpaqueBindCount; ++i)
{
count_VkSparseImageOpaqueMemoryBindInfo(featureBits, (const VkSparseImageOpaqueMemoryBindInfo*)(toCount->pImageOpaqueBinds + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->imageBindCount; ++i)
{
count_VkSparseImageMemoryBindInfo(featureBits, (const VkSparseImageMemoryBindInfo*)(toCount->pImageBinds + i), count);
}
*count += sizeof(uint32_t);
if (toCount->signalSemaphoreCount)
{
*count += toCount->signalSemaphoreCount * 8;
}
}
void count_VkFenceCreateInfo(
uint32_t featureBits,
const VkFenceCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFenceCreateFlags);
}
void count_VkSemaphoreCreateInfo(
uint32_t featureBits,
const VkSemaphoreCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSemaphoreCreateFlags);
}
void count_VkEventCreateInfo(
uint32_t featureBits,
const VkEventCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkEventCreateFlags);
}
void count_VkQueryPoolCreateInfo(
uint32_t featureBits,
const VkQueryPoolCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkQueryPoolCreateFlags);
*count += sizeof(VkQueryType);
*count += sizeof(uint32_t);
*count += sizeof(VkQueryPipelineStatisticFlags);
}
void count_VkBufferCreateInfo(
uint32_t featureBits,
const VkBufferCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBufferCreateFlags);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkBufferUsageFlags);
*count += sizeof(VkSharingMode);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pQueueFamilyIndices)
{
*count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
}
}
void count_VkBufferViewCreateInfo(
uint32_t featureBits,
const VkBufferViewCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBufferViewCreateFlags);
uint64_t cgen_var_11;
*count += 1 * 8;
*count += sizeof(VkFormat);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkImageCreateInfo(
uint32_t featureBits,
const VkImageCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageCreateFlags);
*count += sizeof(VkImageType);
*count += sizeof(VkFormat);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->extent), count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkSampleCountFlagBits);
*count += sizeof(VkImageTiling);
*count += sizeof(VkImageUsageFlags);
*count += sizeof(VkSharingMode);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pQueueFamilyIndices)
{
*count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
}
*count += sizeof(VkImageLayout);
}
void count_VkSubresourceLayout(
uint32_t featureBits,
const VkSubresourceLayout* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkComponentMapping(
uint32_t featureBits,
const VkComponentMapping* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkComponentSwizzle);
*count += sizeof(VkComponentSwizzle);
*count += sizeof(VkComponentSwizzle);
*count += sizeof(VkComponentSwizzle);
}
void count_VkImageSubresourceRange(
uint32_t featureBits,
const VkImageSubresourceRange* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkImageAspectFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkImageViewCreateInfo(
uint32_t featureBits,
const VkImageViewCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageViewCreateFlags);
uint64_t cgen_var_12;
*count += 1 * 8;
*count += sizeof(VkImageViewType);
*count += sizeof(VkFormat);
count_VkComponentMapping(featureBits, (VkComponentMapping*)(&toCount->components), count);
count_VkImageSubresourceRange(featureBits, (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
}
void count_VkShaderModuleCreateInfo(
uint32_t featureBits,
const VkShaderModuleCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkShaderModuleCreateFlags);
*count += 8;
*count += (toCount->codeSize / 4) * sizeof(const uint32_t);
}
void count_VkPipelineCacheCreateInfo(
uint32_t featureBits,
const VkPipelineCacheCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineCacheCreateFlags);
*count += 8;
*count += toCount->initialDataSize * sizeof(const uint8_t);
}
void count_VkSpecializationMapEntry(
uint32_t featureBits,
const VkSpecializationMapEntry* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 8;
}
void count_VkSpecializationInfo(
uint32_t featureBits,
const VkSpecializationInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->mapEntryCount; ++i)
{
count_VkSpecializationMapEntry(featureBits, (const VkSpecializationMapEntry*)(toCount->pMapEntries + i), count);
}
*count += 8;
*count += toCount->dataSize * sizeof(const uint8_t);
}
void count_VkPipelineShaderStageCreateInfo(
uint32_t featureBits,
const VkPipelineShaderStageCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineShaderStageCreateFlags);
*count += sizeof(VkShaderStageFlagBits);
uint64_t cgen_var_13;
*count += 1 * 8;
*count += sizeof(uint32_t) + (toCount->pName ? strlen(toCount->pName) : 0);
// WARNING PTR CHECK
*count += 8;
if (toCount->pSpecializationInfo)
{
count_VkSpecializationInfo(featureBits, (const VkSpecializationInfo*)(toCount->pSpecializationInfo), count);
}
}
void count_VkVertexInputBindingDescription(
uint32_t featureBits,
const VkVertexInputBindingDescription* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkVertexInputRate);
}
void count_VkVertexInputAttributeDescription(
uint32_t featureBits,
const VkVertexInputAttributeDescription* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkFormat);
*count += sizeof(uint32_t);
}
void count_VkPipelineVertexInputStateCreateInfo(
uint32_t featureBits,
const VkPipelineVertexInputStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineVertexInputStateCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->vertexBindingDescriptionCount; ++i)
{
count_VkVertexInputBindingDescription(featureBits, (const VkVertexInputBindingDescription*)(toCount->pVertexBindingDescriptions + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->vertexAttributeDescriptionCount; ++i)
{
count_VkVertexInputAttributeDescription(featureBits, (const VkVertexInputAttributeDescription*)(toCount->pVertexAttributeDescriptions + i), count);
}
}
void count_VkPipelineInputAssemblyStateCreateInfo(
uint32_t featureBits,
const VkPipelineInputAssemblyStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineInputAssemblyStateCreateFlags);
*count += sizeof(VkPrimitiveTopology);
*count += sizeof(VkBool32);
}
void count_VkPipelineTessellationStateCreateInfo(
uint32_t featureBits,
const VkPipelineTessellationStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineTessellationStateCreateFlags);
*count += sizeof(uint32_t);
}
void count_VkViewport(
uint32_t featureBits,
const VkViewport* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkOffset2D(
uint32_t featureBits,
const VkOffset2D* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(int32_t);
*count += sizeof(int32_t);
}
void count_VkExtent2D(
uint32_t featureBits,
const VkExtent2D* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkRect2D(
uint32_t featureBits,
const VkRect2D* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->offset), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->extent), count);
}
void count_VkPipelineViewportStateCreateInfo(
uint32_t featureBits,
const VkPipelineViewportStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineViewportStateCreateFlags);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pViewports)
{
for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i)
{
count_VkViewport(featureBits, (const VkViewport*)(toCount->pViewports + i), count);
}
}
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pScissors)
{
for (uint32_t i = 0; i < (uint32_t)toCount->scissorCount; ++i)
{
count_VkRect2D(featureBits, (const VkRect2D*)(toCount->pScissors + i), count);
}
}
}
void count_VkPipelineRasterizationStateCreateInfo(
uint32_t featureBits,
const VkPipelineRasterizationStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineRasterizationStateCreateFlags);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkPolygonMode);
*count += sizeof(VkCullModeFlags);
*count += sizeof(VkFrontFace);
*count += sizeof(VkBool32);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkPipelineMultisampleStateCreateInfo(
uint32_t featureBits,
const VkPipelineMultisampleStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineMultisampleStateCreateFlags);
*count += sizeof(VkSampleCountFlagBits);
*count += sizeof(VkBool32);
*count += sizeof(float);
// WARNING PTR CHECK
*count += 8;
if (toCount->pSampleMask)
{
*count += (((toCount->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask);
}
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkStencilOpState(
uint32_t featureBits,
const VkStencilOpState* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStencilOp);
*count += sizeof(VkStencilOp);
*count += sizeof(VkStencilOp);
*count += sizeof(VkCompareOp);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkPipelineDepthStencilStateCreateInfo(
uint32_t featureBits,
const VkPipelineDepthStencilStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineDepthStencilStateCreateFlags);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkCompareOp);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
count_VkStencilOpState(featureBits, (VkStencilOpState*)(&toCount->front), count);
count_VkStencilOpState(featureBits, (VkStencilOpState*)(&toCount->back), count);
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkPipelineColorBlendAttachmentState(
uint32_t featureBits,
const VkPipelineColorBlendAttachmentState* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkBool32);
*count += sizeof(VkBlendFactor);
*count += sizeof(VkBlendFactor);
*count += sizeof(VkBlendOp);
*count += sizeof(VkBlendFactor);
*count += sizeof(VkBlendFactor);
*count += sizeof(VkBlendOp);
*count += sizeof(VkColorComponentFlags);
}
void count_VkPipelineColorBlendStateCreateInfo(
uint32_t featureBits,
const VkPipelineColorBlendStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineColorBlendStateCreateFlags);
*count += sizeof(VkBool32);
*count += sizeof(VkLogicOp);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i)
{
count_VkPipelineColorBlendAttachmentState(featureBits, (const VkPipelineColorBlendAttachmentState*)(toCount->pAttachments + i), count);
}
*count += 4 * sizeof(float);
}
void count_VkPipelineDynamicStateCreateInfo(
uint32_t featureBits,
const VkPipelineDynamicStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineDynamicStateCreateFlags);
*count += sizeof(uint32_t);
*count += toCount->dynamicStateCount * sizeof(const VkDynamicState);
}
void count_VkGraphicsPipelineCreateInfo(
uint32_t featureBits,
const VkGraphicsPipelineCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint32_t hasRasterization = 1;
if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
{
hasRasterization = (((0 == toCount->pRasterizationState)) ? (0) : (!((*(toCount->pRasterizationState)).rasterizerDiscardEnable)));
*count += 4;
}
uint32_t hasTessellation = 1;
if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
{
hasTessellation = arrayany(toCount->pStages, 0, toCount->stageCount, [](VkPipelineShaderStageCreateInfo s) { return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) || (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)); });
*count += 4;
}
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i)
{
count_VkPipelineShaderStageCreateInfo(featureBits, (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
}
// WARNING PTR CHECK
if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
{
*count += 8;
}
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || toCount->pVertexInputState))
{
count_VkPipelineVertexInputStateCreateInfo(featureBits, (const VkPipelineVertexInputStateCreateInfo*)(toCount->pVertexInputState), count);
}
// WARNING PTR CHECK
if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
{
*count += 8;
}
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || toCount->pInputAssemblyState))
{
count_VkPipelineInputAssemblyStateCreateInfo(featureBits, (const VkPipelineInputAssemblyStateCreateInfo*)(toCount->pInputAssemblyState), count);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pTessellationState)
{
if (hasTessellation)
{
count_VkPipelineTessellationStateCreateInfo(featureBits, (const VkPipelineTessellationStateCreateInfo*)(toCount->pTessellationState), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pViewportState)
{
if (hasRasterization)
{
count_VkPipelineViewportStateCreateInfo(featureBits, (const VkPipelineViewportStateCreateInfo*)(toCount->pViewportState), count);
}
}
// WARNING PTR CHECK
if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
{
*count += 8;
}
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || toCount->pRasterizationState))
{
count_VkPipelineRasterizationStateCreateInfo(featureBits, (const VkPipelineRasterizationStateCreateInfo*)(toCount->pRasterizationState), count);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pMultisampleState)
{
if (hasRasterization)
{
count_VkPipelineMultisampleStateCreateInfo(featureBits, (const VkPipelineMultisampleStateCreateInfo*)(toCount->pMultisampleState), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pDepthStencilState)
{
if (hasRasterization)
{
count_VkPipelineDepthStencilStateCreateInfo(featureBits, (const VkPipelineDepthStencilStateCreateInfo*)(toCount->pDepthStencilState), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pColorBlendState)
{
if (hasRasterization)
{
count_VkPipelineColorBlendStateCreateInfo(featureBits, (const VkPipelineColorBlendStateCreateInfo*)(toCount->pColorBlendState), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pDynamicState)
{
count_VkPipelineDynamicStateCreateInfo(featureBits, (const VkPipelineDynamicStateCreateInfo*)(toCount->pDynamicState), count);
}
uint64_t cgen_var_14;
*count += 1 * 8;
uint64_t cgen_var_15;
*count += 1 * 8;
*count += sizeof(uint32_t);
uint64_t cgen_var_16;
*count += 1 * 8;
*count += sizeof(int32_t);
}
void count_VkComputePipelineCreateInfo(
uint32_t featureBits,
const VkComputePipelineCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineCreateFlags);
count_VkPipelineShaderStageCreateInfo(featureBits, (VkPipelineShaderStageCreateInfo*)(&toCount->stage), count);
uint64_t cgen_var_17;
*count += 1 * 8;
uint64_t cgen_var_18;
*count += 1 * 8;
*count += sizeof(int32_t);
}
void count_VkPushConstantRange(
uint32_t featureBits,
const VkPushConstantRange* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkShaderStageFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkPipelineLayoutCreateInfo(
uint32_t featureBits,
const VkPipelineLayoutCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineLayoutCreateFlags);
*count += sizeof(uint32_t);
if (toCount->setLayoutCount)
{
*count += toCount->setLayoutCount * 8;
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->pushConstantRangeCount; ++i)
{
count_VkPushConstantRange(featureBits, (const VkPushConstantRange*)(toCount->pPushConstantRanges + i), count);
}
}
void count_VkSamplerCreateInfo(
uint32_t featureBits,
const VkSamplerCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSamplerCreateFlags);
*count += sizeof(VkFilter);
*count += sizeof(VkFilter);
*count += sizeof(VkSamplerMipmapMode);
*count += sizeof(VkSamplerAddressMode);
*count += sizeof(VkSamplerAddressMode);
*count += sizeof(VkSamplerAddressMode);
*count += sizeof(float);
*count += sizeof(VkBool32);
*count += sizeof(float);
*count += sizeof(VkBool32);
*count += sizeof(VkCompareOp);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(VkBorderColor);
*count += sizeof(VkBool32);
}
void count_VkDescriptorSetLayoutBinding(
uint32_t featureBits,
const VkDescriptorSetLayoutBinding* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(VkDescriptorType);
*count += sizeof(uint32_t);
*count += sizeof(VkShaderStageFlags);
// WARNING PTR CHECK
*count += 8;
if (toCount->pImmutableSamplers)
{
if (toCount->descriptorCount)
{
*count += toCount->descriptorCount * 8;
}
}
}
void count_VkDescriptorSetLayoutCreateInfo(
uint32_t featureBits,
const VkDescriptorSetLayoutCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDescriptorSetLayoutCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->bindingCount; ++i)
{
count_VkDescriptorSetLayoutBinding(featureBits, (const VkDescriptorSetLayoutBinding*)(toCount->pBindings + i), count);
}
}
void count_VkDescriptorPoolSize(
uint32_t featureBits,
const VkDescriptorPoolSize* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDescriptorType);
*count += sizeof(uint32_t);
}
void count_VkDescriptorPoolCreateInfo(
uint32_t featureBits,
const VkDescriptorPoolCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDescriptorPoolCreateFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->poolSizeCount; ++i)
{
count_VkDescriptorPoolSize(featureBits, (const VkDescriptorPoolSize*)(toCount->pPoolSizes + i), count);
}
}
void count_VkDescriptorSetAllocateInfo(
uint32_t featureBits,
const VkDescriptorSetAllocateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_21;
*count += 1 * 8;
*count += sizeof(uint32_t);
if (toCount->descriptorSetCount)
{
*count += toCount->descriptorSetCount * 8;
}
}
void count_VkDescriptorImageInfo(
uint32_t featureBits,
const VkDescriptorImageInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_23;
*count += 1 * 8;
uint64_t cgen_var_24;
*count += 1 * 8;
*count += sizeof(VkImageLayout);
}
void count_VkDescriptorBufferInfo(
uint32_t featureBits,
const VkDescriptorBufferInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_25;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkWriteDescriptorSet(
uint32_t featureBits,
const VkWriteDescriptorSet* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_26;
*count += 1 * 8;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkDescriptorType);
// WARNING PTR CHECK
*count += 8;
if (toCount->pImageInfo)
{
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_SAMPLER == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == toCount->descriptorType))))
{
for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i)
{
count_VkDescriptorImageInfo(featureBits, (const VkDescriptorImageInfo*)(toCount->pImageInfo + i), count);
}
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pBufferInfo)
{
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == toCount->descriptorType))))
{
for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i)
{
count_VkDescriptorBufferInfo(featureBits, (const VkDescriptorBufferInfo*)(toCount->pBufferInfo + i), count);
}
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pTexelBufferView)
{
if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == toCount->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == toCount->descriptorType))))
{
if (toCount->descriptorCount)
{
*count += toCount->descriptorCount * 8;
}
}
}
}
void count_VkCopyDescriptorSet(
uint32_t featureBits,
const VkCopyDescriptorSet* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_28;
*count += 1 * 8;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
uint64_t cgen_var_29;
*count += 1 * 8;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkFramebufferCreateInfo(
uint32_t featureBits,
const VkFramebufferCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFramebufferCreateFlags);
uint64_t cgen_var_30;
*count += 1 * 8;
*count += sizeof(uint32_t);
if (toCount->attachmentCount)
{
*count += toCount->attachmentCount * 8;
}
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkAttachmentDescription(
uint32_t featureBits,
const VkAttachmentDescription* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkAttachmentDescriptionFlags);
*count += sizeof(VkFormat);
*count += sizeof(VkSampleCountFlagBits);
*count += sizeof(VkAttachmentLoadOp);
*count += sizeof(VkAttachmentStoreOp);
*count += sizeof(VkAttachmentLoadOp);
*count += sizeof(VkAttachmentStoreOp);
*count += sizeof(VkImageLayout);
*count += sizeof(VkImageLayout);
}
void count_VkAttachmentReference(
uint32_t featureBits,
const VkAttachmentReference* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(VkImageLayout);
}
void count_VkSubpassDescription(
uint32_t featureBits,
const VkSubpassDescription* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkSubpassDescriptionFlags);
*count += sizeof(VkPipelineBindPoint);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i)
{
count_VkAttachmentReference(featureBits, (const VkAttachmentReference*)(toCount->pInputAttachments + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i)
{
count_VkAttachmentReference(featureBits, (const VkAttachmentReference*)(toCount->pColorAttachments + i), count);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pResolveAttachments)
{
for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i)
{
count_VkAttachmentReference(featureBits, (const VkAttachmentReference*)(toCount->pResolveAttachments + i), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pDepthStencilAttachment)
{
count_VkAttachmentReference(featureBits, (const VkAttachmentReference*)(toCount->pDepthStencilAttachment), count);
}
*count += sizeof(uint32_t);
*count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
}
void count_VkSubpassDependency(
uint32_t featureBits,
const VkSubpassDependency* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkPipelineStageFlags);
*count += sizeof(VkPipelineStageFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkDependencyFlags);
}
void count_VkRenderPassCreateInfo(
uint32_t featureBits,
const VkRenderPassCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkRenderPassCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i)
{
count_VkAttachmentDescription(featureBits, (const VkAttachmentDescription*)(toCount->pAttachments + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i)
{
count_VkSubpassDescription(featureBits, (const VkSubpassDescription*)(toCount->pSubpasses + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i)
{
count_VkSubpassDependency(featureBits, (const VkSubpassDependency*)(toCount->pDependencies + i), count);
}
}
void count_VkCommandPoolCreateInfo(
uint32_t featureBits,
const VkCommandPoolCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkCommandPoolCreateFlags);
*count += sizeof(uint32_t);
}
void count_VkCommandBufferAllocateInfo(
uint32_t featureBits,
const VkCommandBufferAllocateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_32;
*count += 1 * 8;
*count += sizeof(VkCommandBufferLevel);
*count += sizeof(uint32_t);
}
void count_VkCommandBufferInheritanceInfo(
uint32_t featureBits,
const VkCommandBufferInheritanceInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_33;
*count += 1 * 8;
*count += sizeof(uint32_t);
uint64_t cgen_var_34;
*count += 1 * 8;
*count += sizeof(VkBool32);
*count += sizeof(VkQueryControlFlags);
*count += sizeof(VkQueryPipelineStatisticFlags);
}
void count_VkCommandBufferBeginInfo(
uint32_t featureBits,
const VkCommandBufferBeginInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkCommandBufferUsageFlags);
// WARNING PTR CHECK
*count += 8;
if (toCount->pInheritanceInfo)
{
count_VkCommandBufferInheritanceInfo(featureBits, (const VkCommandBufferInheritanceInfo*)(toCount->pInheritanceInfo), count);
}
}
void count_VkBufferCopy(
uint32_t featureBits,
const VkBufferCopy* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkImageSubresourceLayers(
uint32_t featureBits,
const VkImageSubresourceLayers* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkImageAspectFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkImageCopy(
uint32_t featureBits,
const VkImageCopy* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->srcOffset), count);
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->dstOffset), count);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->extent), count);
}
void count_VkImageBlit(
uint32_t featureBits,
const VkImageBlit* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
for (uint32_t i = 0; i < (uint32_t)2; ++i)
{
count_VkOffset3D(featureBits, (VkOffset3D*)(toCount->srcOffsets + i), count);
}
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
for (uint32_t i = 0; i < (uint32_t)2; ++i)
{
count_VkOffset3D(featureBits, (VkOffset3D*)(toCount->dstOffsets + i), count);
}
}
void count_VkBufferImageCopy(
uint32_t featureBits,
const VkBufferImageCopy* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDeviceSize);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->imageOffset), count);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->imageExtent), count);
}
void count_VkClearColorValue(
uint32_t featureBits,
const VkClearColorValue* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += 4 * sizeof(float);
}
void count_VkClearDepthStencilValue(
uint32_t featureBits,
const VkClearDepthStencilValue* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(float);
*count += sizeof(uint32_t);
}
void count_VkClearValue(
uint32_t featureBits,
const VkClearValue* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkClearColorValue(featureBits, (VkClearColorValue*)(&toCount->color), count);
}
void count_VkClearAttachment(
uint32_t featureBits,
const VkClearAttachment* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkImageAspectFlags);
*count += sizeof(uint32_t);
count_VkClearValue(featureBits, (VkClearValue*)(&toCount->clearValue), count);
}
void count_VkClearRect(
uint32_t featureBits,
const VkClearRect* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkRect2D(featureBits, (VkRect2D*)(&toCount->rect), count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkImageResolve(
uint32_t featureBits,
const VkImageResolve* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->srcOffset), count);
count_VkImageSubresourceLayers(featureBits, (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
count_VkOffset3D(featureBits, (VkOffset3D*)(&toCount->dstOffset), count);
count_VkExtent3D(featureBits, (VkExtent3D*)(&toCount->extent), count);
}
void count_VkMemoryBarrier(
uint32_t featureBits,
const VkMemoryBarrier* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkAccessFlags);
}
void count_VkBufferMemoryBarrier(
uint32_t featureBits,
const VkBufferMemoryBarrier* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
uint64_t cgen_var_35;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkDeviceSize);
}
void count_VkImageMemoryBarrier(
uint32_t featureBits,
const VkImageMemoryBarrier* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkImageLayout);
*count += sizeof(VkImageLayout);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
uint64_t cgen_var_36;
*count += 1 * 8;
count_VkImageSubresourceRange(featureBits, (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
}
void count_VkRenderPassBeginInfo(
uint32_t featureBits,
const VkRenderPassBeginInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_37;
*count += 1 * 8;
uint64_t cgen_var_38;
*count += 1 * 8;
count_VkRect2D(featureBits, (VkRect2D*)(&toCount->renderArea), count);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pClearValues)
{
for (uint32_t i = 0; i < (uint32_t)toCount->clearValueCount; ++i)
{
count_VkClearValue(featureBits, (const VkClearValue*)(toCount->pClearValues + i), count);
}
}
}
void count_VkDispatchIndirectCommand(
uint32_t featureBits,
const VkDispatchIndirectCommand* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkDrawIndexedIndirectCommand(
uint32_t featureBits,
const VkDrawIndexedIndirectCommand* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(int32_t);
*count += sizeof(uint32_t);
}
void count_VkDrawIndirectCommand(
uint32_t featureBits,
const VkDrawIndirectCommand* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkBaseOutStructure(
uint32_t featureBits,
const VkBaseOutStructure* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
}
void count_VkBaseInStructure(
uint32_t featureBits,
const VkBaseInStructure* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
}
#endif
#ifdef VK_VERSION_1_1
void count_VkPhysicalDeviceSubgroupProperties(
uint32_t featureBits,
const VkPhysicalDeviceSubgroupProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(VkShaderStageFlags);
*count += sizeof(VkSubgroupFeatureFlags);
*count += sizeof(VkBool32);
}
void count_VkBindBufferMemoryInfo(
uint32_t featureBits,
const VkBindBufferMemoryInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_39;
*count += 1 * 8;
uint64_t cgen_var_40;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
}
void count_VkBindImageMemoryInfo(
uint32_t featureBits,
const VkBindImageMemoryInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_41;
*count += 1 * 8;
uint64_t cgen_var_42;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
}
void count_VkPhysicalDevice16BitStorageFeatures(
uint32_t featureBits,
const VkPhysicalDevice16BitStorageFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkMemoryDedicatedRequirements(
uint32_t featureBits,
const VkMemoryDedicatedRequirements* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkMemoryDedicatedAllocateInfo(
uint32_t featureBits,
const VkMemoryDedicatedAllocateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_43;
*count += 1 * 8;
uint64_t cgen_var_44;
*count += 1 * 8;
}
void count_VkMemoryAllocateFlagsInfo(
uint32_t featureBits,
const VkMemoryAllocateFlagsInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkMemoryAllocateFlags);
*count += sizeof(uint32_t);
}
void count_VkDeviceGroupRenderPassBeginInfo(
uint32_t featureBits,
const VkDeviceGroupRenderPassBeginInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->deviceRenderAreaCount; ++i)
{
count_VkRect2D(featureBits, (const VkRect2D*)(toCount->pDeviceRenderAreas + i), count);
}
}
void count_VkDeviceGroupCommandBufferBeginInfo(
uint32_t featureBits,
const VkDeviceGroupCommandBufferBeginInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkDeviceGroupSubmitInfo(
uint32_t featureBits,
const VkDeviceGroupSubmitInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->waitSemaphoreCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
*count += toCount->commandBufferCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
*count += toCount->signalSemaphoreCount * sizeof(const uint32_t);
}
void count_VkDeviceGroupBindSparseInfo(
uint32_t featureBits,
const VkDeviceGroupBindSparseInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkBindBufferMemoryDeviceGroupInfo(
uint32_t featureBits,
const VkBindBufferMemoryDeviceGroupInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->deviceIndexCount * sizeof(const uint32_t);
}
void count_VkBindImageMemoryDeviceGroupInfo(
uint32_t featureBits,
const VkBindImageMemoryDeviceGroupInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->deviceIndexCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->splitInstanceBindRegionCount; ++i)
{
count_VkRect2D(featureBits, (const VkRect2D*)(toCount->pSplitInstanceBindRegions + i), count);
}
}
void count_VkPhysicalDeviceGroupProperties(
uint32_t featureBits,
const VkPhysicalDeviceGroupProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
*count += sizeof(VkBool32);
}
void count_VkDeviceGroupDeviceCreateInfo(
uint32_t featureBits,
const VkDeviceGroupDeviceCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->physicalDeviceCount)
{
*count += toCount->physicalDeviceCount * 8;
}
}
void count_VkBufferMemoryRequirementsInfo2(
uint32_t featureBits,
const VkBufferMemoryRequirementsInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_46;
*count += 1 * 8;
}
void count_VkImageMemoryRequirementsInfo2(
uint32_t featureBits,
const VkImageMemoryRequirementsInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_47;
*count += 1 * 8;
}
void count_VkImageSparseMemoryRequirementsInfo2(
uint32_t featureBits,
const VkImageSparseMemoryRequirementsInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_48;
*count += 1 * 8;
}
void count_VkMemoryRequirements2(
uint32_t featureBits,
const VkMemoryRequirements2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkMemoryRequirements(featureBits, (VkMemoryRequirements*)(&toCount->memoryRequirements), count);
}
void count_VkSparseImageMemoryRequirements2(
uint32_t featureBits,
const VkSparseImageMemoryRequirements2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkSparseImageMemoryRequirements(featureBits, (VkSparseImageMemoryRequirements*)(&toCount->memoryRequirements), count);
}
void count_VkPhysicalDeviceFeatures2(
uint32_t featureBits,
const VkPhysicalDeviceFeatures2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkPhysicalDeviceFeatures(featureBits, (VkPhysicalDeviceFeatures*)(&toCount->features), count);
}
void count_VkPhysicalDeviceProperties2(
uint32_t featureBits,
const VkPhysicalDeviceProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkPhysicalDeviceProperties(featureBits, (VkPhysicalDeviceProperties*)(&toCount->properties), count);
}
void count_VkFormatProperties2(
uint32_t featureBits,
const VkFormatProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkFormatProperties(featureBits, (VkFormatProperties*)(&toCount->formatProperties), count);
}
void count_VkImageFormatProperties2(
uint32_t featureBits,
const VkImageFormatProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkImageFormatProperties(featureBits, (VkImageFormatProperties*)(&toCount->imageFormatProperties), count);
}
void count_VkPhysicalDeviceImageFormatInfo2(
uint32_t featureBits,
const VkPhysicalDeviceImageFormatInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFormat);
*count += sizeof(VkImageType);
*count += sizeof(VkImageTiling);
*count += sizeof(VkImageUsageFlags);
*count += sizeof(VkImageCreateFlags);
}
void count_VkQueueFamilyProperties2(
uint32_t featureBits,
const VkQueueFamilyProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkQueueFamilyProperties(featureBits, (VkQueueFamilyProperties*)(&toCount->queueFamilyProperties), count);
}
void count_VkPhysicalDeviceMemoryProperties2(
uint32_t featureBits,
const VkPhysicalDeviceMemoryProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkPhysicalDeviceMemoryProperties(featureBits, (VkPhysicalDeviceMemoryProperties*)(&toCount->memoryProperties), count);
}
void count_VkSparseImageFormatProperties2(
uint32_t featureBits,
const VkSparseImageFormatProperties2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkSparseImageFormatProperties(featureBits, (VkSparseImageFormatProperties*)(&toCount->properties), count);
}
void count_VkPhysicalDeviceSparseImageFormatInfo2(
uint32_t featureBits,
const VkPhysicalDeviceSparseImageFormatInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFormat);
*count += sizeof(VkImageType);
*count += sizeof(VkSampleCountFlagBits);
*count += sizeof(VkImageUsageFlags);
*count += sizeof(VkImageTiling);
}
void count_VkPhysicalDevicePointClippingProperties(
uint32_t featureBits,
const VkPhysicalDevicePointClippingProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPointClippingBehavior);
}
void count_VkInputAttachmentAspectReference(
uint32_t featureBits,
const VkInputAttachmentAspectReference* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkImageAspectFlags);
}
void count_VkRenderPassInputAttachmentAspectCreateInfo(
uint32_t featureBits,
const VkRenderPassInputAttachmentAspectCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->aspectReferenceCount; ++i)
{
count_VkInputAttachmentAspectReference(featureBits, (const VkInputAttachmentAspectReference*)(toCount->pAspectReferences + i), count);
}
}
void count_VkImageViewUsageCreateInfo(
uint32_t featureBits,
const VkImageViewUsageCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageUsageFlags);
}
void count_VkPipelineTessellationDomainOriginStateCreateInfo(
uint32_t featureBits,
const VkPipelineTessellationDomainOriginStateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkTessellationDomainOrigin);
}
void count_VkRenderPassMultiviewCreateInfo(
uint32_t featureBits,
const VkRenderPassMultiviewCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->subpassCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
*count += toCount->dependencyCount * sizeof(const int32_t);
*count += sizeof(uint32_t);
*count += toCount->correlationMaskCount * sizeof(const uint32_t);
}
void count_VkPhysicalDeviceMultiviewFeatures(
uint32_t featureBits,
const VkPhysicalDeviceMultiviewFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceMultiviewProperties(
uint32_t featureBits,
const VkPhysicalDeviceMultiviewProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkPhysicalDeviceVariablePointerFeatures(
uint32_t featureBits,
const VkPhysicalDeviceVariablePointerFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceProtectedMemoryFeatures(
uint32_t featureBits,
const VkPhysicalDeviceProtectedMemoryFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceProtectedMemoryProperties(
uint32_t featureBits,
const VkPhysicalDeviceProtectedMemoryProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkDeviceQueueInfo2(
uint32_t featureBits,
const VkDeviceQueueInfo2* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceQueueCreateFlags);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkProtectedSubmitInfo(
uint32_t featureBits,
const VkProtectedSubmitInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkSamplerYcbcrConversionCreateInfo(
uint32_t featureBits,
const VkSamplerYcbcrConversionCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFormat);
*count += sizeof(VkSamplerYcbcrModelConversion);
*count += sizeof(VkSamplerYcbcrRange);
count_VkComponentMapping(featureBits, (VkComponentMapping*)(&toCount->components), count);
*count += sizeof(VkChromaLocation);
*count += sizeof(VkChromaLocation);
*count += sizeof(VkFilter);
*count += sizeof(VkBool32);
}
void count_VkSamplerYcbcrConversionInfo(
uint32_t featureBits,
const VkSamplerYcbcrConversionInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_49;
*count += 1 * 8;
}
void count_VkBindImagePlaneMemoryInfo(
uint32_t featureBits,
const VkBindImagePlaneMemoryInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageAspectFlagBits);
}
void count_VkImagePlaneMemoryRequirementsInfo(
uint32_t featureBits,
const VkImagePlaneMemoryRequirementsInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageAspectFlagBits);
}
void count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
uint32_t featureBits,
const VkPhysicalDeviceSamplerYcbcrConversionFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkSamplerYcbcrConversionImageFormatProperties(
uint32_t featureBits,
const VkSamplerYcbcrConversionImageFormatProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkDescriptorUpdateTemplateEntry(
uint32_t featureBits,
const VkDescriptorUpdateTemplateEntry* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkDescriptorType);
*count += 8;
*count += 8;
}
void count_VkDescriptorUpdateTemplateCreateInfo(
uint32_t featureBits,
const VkDescriptorUpdateTemplateCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDescriptorUpdateTemplateCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->descriptorUpdateEntryCount; ++i)
{
count_VkDescriptorUpdateTemplateEntry(featureBits, (const VkDescriptorUpdateTemplateEntry*)(toCount->pDescriptorUpdateEntries + i), count);
}
*count += sizeof(VkDescriptorUpdateTemplateType);
uint64_t cgen_var_50;
*count += 1 * 8;
*count += sizeof(VkPipelineBindPoint);
uint64_t cgen_var_51;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkExternalMemoryProperties(
uint32_t featureBits,
const VkExternalMemoryProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkExternalMemoryFeatureFlags);
*count += sizeof(VkExternalMemoryHandleTypeFlags);
*count += sizeof(VkExternalMemoryHandleTypeFlags);
}
void count_VkPhysicalDeviceExternalImageFormatInfo(
uint32_t featureBits,
const VkPhysicalDeviceExternalImageFormatInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
void count_VkExternalImageFormatProperties(
uint32_t featureBits,
const VkExternalImageFormatProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkExternalMemoryProperties(featureBits, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties), count);
}
void count_VkPhysicalDeviceExternalBufferInfo(
uint32_t featureBits,
const VkPhysicalDeviceExternalBufferInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBufferCreateFlags);
*count += sizeof(VkBufferUsageFlags);
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
void count_VkExternalBufferProperties(
uint32_t featureBits,
const VkExternalBufferProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkExternalMemoryProperties(featureBits, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties), count);
}
void count_VkPhysicalDeviceIDProperties(
uint32_t featureBits,
const VkPhysicalDeviceIDProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += VK_UUID_SIZE * sizeof(uint8_t);
*count += VK_UUID_SIZE * sizeof(uint8_t);
*count += VK_LUID_SIZE * sizeof(uint8_t);
*count += sizeof(uint32_t);
*count += sizeof(VkBool32);
}
void count_VkExternalMemoryImageCreateInfo(
uint32_t featureBits,
const VkExternalMemoryImageCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlags);
}
void count_VkExternalMemoryBufferCreateInfo(
uint32_t featureBits,
const VkExternalMemoryBufferCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlags);
}
void count_VkExportMemoryAllocateInfo(
uint32_t featureBits,
const VkExportMemoryAllocateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlags);
}
void count_VkPhysicalDeviceExternalFenceInfo(
uint32_t featureBits,
const VkPhysicalDeviceExternalFenceInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalFenceHandleTypeFlagBits);
}
void count_VkExternalFenceProperties(
uint32_t featureBits,
const VkExternalFenceProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalFenceHandleTypeFlags);
*count += sizeof(VkExternalFenceHandleTypeFlags);
*count += sizeof(VkExternalFenceFeatureFlags);
}
void count_VkExportFenceCreateInfo(
uint32_t featureBits,
const VkExportFenceCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalFenceHandleTypeFlags);
}
void count_VkExportSemaphoreCreateInfo(
uint32_t featureBits,
const VkExportSemaphoreCreateInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalSemaphoreHandleTypeFlags);
}
void count_VkPhysicalDeviceExternalSemaphoreInfo(
uint32_t featureBits,
const VkPhysicalDeviceExternalSemaphoreInfo* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
}
void count_VkExternalSemaphoreProperties(
uint32_t featureBits,
const VkExternalSemaphoreProperties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalSemaphoreHandleTypeFlags);
*count += sizeof(VkExternalSemaphoreHandleTypeFlags);
*count += sizeof(VkExternalSemaphoreFeatureFlags);
}
void count_VkPhysicalDeviceMaintenance3Properties(
uint32_t featureBits,
const VkPhysicalDeviceMaintenance3Properties* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(VkDeviceSize);
}
void count_VkDescriptorSetLayoutSupport(
uint32_t featureBits,
const VkDescriptorSetLayoutSupport* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceShaderDrawParameterFeatures(
uint32_t featureBits,
const VkPhysicalDeviceShaderDrawParameterFeatures* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_KHR_surface
void count_VkSurfaceCapabilitiesKHR(
uint32_t featureBits,
const VkSurfaceCapabilitiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->currentExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->minImageExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxImageExtent), count);
*count += sizeof(uint32_t);
*count += sizeof(VkSurfaceTransformFlagsKHR);
*count += sizeof(VkSurfaceTransformFlagBitsKHR);
*count += sizeof(VkCompositeAlphaFlagsKHR);
*count += sizeof(VkImageUsageFlags);
}
void count_VkSurfaceFormatKHR(
uint32_t featureBits,
const VkSurfaceFormatKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkFormat);
*count += sizeof(VkColorSpaceKHR);
}
#endif
#ifdef VK_KHR_swapchain
void count_VkSwapchainCreateInfoKHR(
uint32_t featureBits,
const VkSwapchainCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSwapchainCreateFlagsKHR);
uint64_t cgen_var_52;
*count += 1 * 8;
*count += sizeof(uint32_t);
*count += sizeof(VkFormat);
*count += sizeof(VkColorSpaceKHR);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->imageExtent), count);
*count += sizeof(uint32_t);
*count += sizeof(VkImageUsageFlags);
*count += sizeof(VkSharingMode);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pQueueFamilyIndices)
{
*count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
}
*count += sizeof(VkSurfaceTransformFlagBitsKHR);
*count += sizeof(VkCompositeAlphaFlagBitsKHR);
*count += sizeof(VkPresentModeKHR);
*count += sizeof(VkBool32);
uint64_t cgen_var_53;
*count += 1 * 8;
}
void count_VkPresentInfoKHR(
uint32_t featureBits,
const VkPresentInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->waitSemaphoreCount)
{
*count += toCount->waitSemaphoreCount * 8;
}
*count += sizeof(uint32_t);
if (toCount->swapchainCount)
{
*count += toCount->swapchainCount * 8;
}
*count += toCount->swapchainCount * sizeof(const uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pResults)
{
*count += toCount->swapchainCount * sizeof(VkResult);
}
}
void count_VkImageSwapchainCreateInfoKHR(
uint32_t featureBits,
const VkImageSwapchainCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_56;
*count += 1 * 8;
}
void count_VkBindImageMemorySwapchainInfoKHR(
uint32_t featureBits,
const VkBindImageMemorySwapchainInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_57;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkAcquireNextImageInfoKHR(
uint32_t featureBits,
const VkAcquireNextImageInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_58;
*count += 1 * 8;
*count += sizeof(uint64_t);
uint64_t cgen_var_59;
*count += 1 * 8;
uint64_t cgen_var_60;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkDeviceGroupPresentCapabilitiesKHR(
uint32_t featureBits,
const VkDeviceGroupPresentCapabilitiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t);
*count += sizeof(VkDeviceGroupPresentModeFlagsKHR);
}
void count_VkDeviceGroupPresentInfoKHR(
uint32_t featureBits,
const VkDeviceGroupPresentInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->swapchainCount * sizeof(const uint32_t);
*count += sizeof(VkDeviceGroupPresentModeFlagBitsKHR);
}
void count_VkDeviceGroupSwapchainCreateInfoKHR(
uint32_t featureBits,
const VkDeviceGroupSwapchainCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceGroupPresentModeFlagsKHR);
}
#endif
#ifdef VK_KHR_display
void count_VkDisplayPropertiesKHR(
uint32_t featureBits,
const VkDisplayPropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_61;
*count += 1 * 8;
*count += sizeof(uint32_t) + (toCount->displayName ? strlen(toCount->displayName) : 0);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->physicalDimensions), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->physicalResolution), count);
*count += sizeof(VkSurfaceTransformFlagsKHR);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkDisplayModeParametersKHR(
uint32_t featureBits,
const VkDisplayModeParametersKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->visibleRegion), count);
*count += sizeof(uint32_t);
}
void count_VkDisplayModePropertiesKHR(
uint32_t featureBits,
const VkDisplayModePropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_62;
*count += 1 * 8;
count_VkDisplayModeParametersKHR(featureBits, (VkDisplayModeParametersKHR*)(&toCount->parameters), count);
}
void count_VkDisplayModeCreateInfoKHR(
uint32_t featureBits,
const VkDisplayModeCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDisplayModeCreateFlagsKHR);
count_VkDisplayModeParametersKHR(featureBits, (VkDisplayModeParametersKHR*)(&toCount->parameters), count);
}
void count_VkDisplayPlaneCapabilitiesKHR(
uint32_t featureBits,
const VkDisplayPlaneCapabilitiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkDisplayPlaneAlphaFlagsKHR);
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->minSrcPosition), count);
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->maxSrcPosition), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->minSrcExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxSrcExtent), count);
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->minDstPosition), count);
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->maxDstPosition), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->minDstExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxDstExtent), count);
}
void count_VkDisplayPlanePropertiesKHR(
uint32_t featureBits,
const VkDisplayPlanePropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
uint64_t cgen_var_63;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkDisplaySurfaceCreateInfoKHR(
uint32_t featureBits,
const VkDisplaySurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDisplaySurfaceCreateFlagsKHR);
uint64_t cgen_var_64;
*count += 1 * 8;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkSurfaceTransformFlagBitsKHR);
*count += sizeof(float);
*count += sizeof(VkDisplayPlaneAlphaFlagBitsKHR);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->imageExtent), count);
}
#endif
#ifdef VK_KHR_display_swapchain
void count_VkDisplayPresentInfoKHR(
uint32_t featureBits,
const VkDisplayPresentInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkRect2D(featureBits, (VkRect2D*)(&toCount->srcRect), count);
count_VkRect2D(featureBits, (VkRect2D*)(&toCount->dstRect), count);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_KHR_xlib_surface
void count_VkXlibSurfaceCreateInfoKHR(
uint32_t featureBits,
const VkXlibSurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkXlibSurfaceCreateFlagsKHR);
// WARNING PTR CHECK
*count += 8;
if (toCount->dpy)
{
*count += sizeof(Display);
}
*count += sizeof(Window);
}
#endif
#ifdef VK_KHR_xcb_surface
void count_VkXcbSurfaceCreateInfoKHR(
uint32_t featureBits,
const VkXcbSurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkXcbSurfaceCreateFlagsKHR);
// WARNING PTR CHECK
*count += 8;
if (toCount->connection)
{
*count += sizeof(xcb_connection_t);
}
*count += sizeof(xcb_window_t);
}
#endif
#ifdef VK_KHR_wayland_surface
void count_VkWaylandSurfaceCreateInfoKHR(
uint32_t featureBits,
const VkWaylandSurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkWaylandSurfaceCreateFlagsKHR);
// WARNING PTR CHECK
*count += 8;
if (toCount->display)
{
*count += sizeof(wl_display);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->surface)
{
*count += sizeof(wl_surface);
}
}
#endif
#ifdef VK_KHR_mir_surface
void count_VkMirSurfaceCreateInfoKHR(
uint32_t featureBits,
const VkMirSurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkMirSurfaceCreateFlagsKHR);
// WARNING PTR CHECK
*count += 8;
if (toCount->connection)
{
*count += sizeof(MirConnection);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->mirSurface)
{
*count += sizeof(MirSurface);
}
}
#endif
#ifdef VK_KHR_android_surface
void count_VkAndroidSurfaceCreateInfoKHR(
uint32_t featureBits,
const VkAndroidSurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkAndroidSurfaceCreateFlagsKHR);
// WARNING PTR CHECK
*count += 8;
if (toCount->window)
{
*count += sizeof(ANativeWindow);
}
}
#endif
#ifdef VK_KHR_win32_surface
void count_VkWin32SurfaceCreateInfoKHR(
uint32_t featureBits,
const VkWin32SurfaceCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkWin32SurfaceCreateFlagsKHR);
*count += sizeof(HINSTANCE);
*count += sizeof(HWND);
}
#endif
#ifdef VK_KHR_sampler_mirror_clamp_to_edge
#endif
#ifdef VK_KHR_multiview
#endif
#ifdef VK_KHR_get_physical_device_properties2
#endif
#ifdef VK_KHR_device_group
#endif
#ifdef VK_KHR_shader_draw_parameters
#endif
#ifdef VK_KHR_maintenance1
#endif
#ifdef VK_KHR_device_group_creation
#endif
#ifdef VK_KHR_external_memory_capabilities
#endif
#ifdef VK_KHR_external_memory
#endif
#ifdef VK_KHR_external_memory_win32
void count_VkImportMemoryWin32HandleInfoKHR(
uint32_t featureBits,
const VkImportMemoryWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
*count += sizeof(HANDLE);
*count += sizeof(LPCWSTR);
}
void count_VkExportMemoryWin32HandleInfoKHR(
uint32_t featureBits,
const VkExportMemoryWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
// WARNING PTR CHECK
*count += 8;
if (toCount->pAttributes)
{
*count += sizeof(const SECURITY_ATTRIBUTES);
}
*count += sizeof(DWORD);
*count += sizeof(LPCWSTR);
}
void count_VkMemoryWin32HandlePropertiesKHR(
uint32_t featureBits,
const VkMemoryWin32HandlePropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkMemoryGetWin32HandleInfoKHR(
uint32_t featureBits,
const VkMemoryGetWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_65;
*count += 1 * 8;
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_external_memory_fd
void count_VkImportMemoryFdInfoKHR(
uint32_t featureBits,
const VkImportMemoryFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
*count += sizeof(int);
}
void count_VkMemoryFdPropertiesKHR(
uint32_t featureBits,
const VkMemoryFdPropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkMemoryGetFdInfoKHR(
uint32_t featureBits,
const VkMemoryGetFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_66;
*count += 1 * 8;
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
void count_VkWin32KeyedMutexAcquireReleaseInfoKHR(
uint32_t featureBits,
const VkWin32KeyedMutexAcquireReleaseInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->acquireCount)
{
*count += toCount->acquireCount * 8;
}
*count += toCount->acquireCount * sizeof(const uint64_t);
*count += toCount->acquireCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
if (toCount->releaseCount)
{
*count += toCount->releaseCount * 8;
}
*count += toCount->releaseCount * sizeof(const uint64_t);
}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
#endif
#ifdef VK_KHR_external_semaphore
#endif
#ifdef VK_KHR_external_semaphore_win32
void count_VkImportSemaphoreWin32HandleInfoKHR(
uint32_t featureBits,
const VkImportSemaphoreWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_69;
*count += 1 * 8;
*count += sizeof(VkSemaphoreImportFlags);
*count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
*count += sizeof(HANDLE);
*count += sizeof(LPCWSTR);
}
void count_VkExportSemaphoreWin32HandleInfoKHR(
uint32_t featureBits,
const VkExportSemaphoreWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
// WARNING PTR CHECK
*count += 8;
if (toCount->pAttributes)
{
*count += sizeof(const SECURITY_ATTRIBUTES);
}
*count += sizeof(DWORD);
*count += sizeof(LPCWSTR);
}
void count_VkD3D12FenceSubmitInfoKHR(
uint32_t featureBits,
const VkD3D12FenceSubmitInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pWaitSemaphoreValues)
{
*count += toCount->waitSemaphoreValuesCount * sizeof(const uint64_t);
}
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pSignalSemaphoreValues)
{
*count += toCount->signalSemaphoreValuesCount * sizeof(const uint64_t);
}
}
void count_VkSemaphoreGetWin32HandleInfoKHR(
uint32_t featureBits,
const VkSemaphoreGetWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_70;
*count += 1 * 8;
*count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_external_semaphore_fd
void count_VkImportSemaphoreFdInfoKHR(
uint32_t featureBits,
const VkImportSemaphoreFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_71;
*count += 1 * 8;
*count += sizeof(VkSemaphoreImportFlags);
*count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
*count += sizeof(int);
}
void count_VkSemaphoreGetFdInfoKHR(
uint32_t featureBits,
const VkSemaphoreGetFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_72;
*count += 1 * 8;
*count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_push_descriptor
void count_VkPhysicalDevicePushDescriptorPropertiesKHR(
uint32_t featureBits,
const VkPhysicalDevicePushDescriptorPropertiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
#endif
#ifdef VK_KHR_16bit_storage
#endif
#ifdef VK_KHR_incremental_present
void count_VkRectLayerKHR(
uint32_t featureBits,
const VkRectLayerKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkOffset2D(featureBits, (VkOffset2D*)(&toCount->offset), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->extent), count);
*count += sizeof(uint32_t);
}
void count_VkPresentRegionKHR(
uint32_t featureBits,
const VkPresentRegionKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pRectangles)
{
for (uint32_t i = 0; i < (uint32_t)toCount->rectangleCount; ++i)
{
count_VkRectLayerKHR(featureBits, (const VkRectLayerKHR*)(toCount->pRectangles + i), count);
}
}
}
void count_VkPresentRegionsKHR(
uint32_t featureBits,
const VkPresentRegionsKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pRegions)
{
for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i)
{
count_VkPresentRegionKHR(featureBits, (const VkPresentRegionKHR*)(toCount->pRegions + i), count);
}
}
}
#endif
#ifdef VK_KHR_descriptor_update_template
#endif
#ifdef VK_KHR_create_renderpass2
void count_VkAttachmentDescription2KHR(
uint32_t featureBits,
const VkAttachmentDescription2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkAttachmentDescriptionFlags);
*count += sizeof(VkFormat);
*count += sizeof(VkSampleCountFlagBits);
*count += sizeof(VkAttachmentLoadOp);
*count += sizeof(VkAttachmentStoreOp);
*count += sizeof(VkAttachmentLoadOp);
*count += sizeof(VkAttachmentStoreOp);
*count += sizeof(VkImageLayout);
*count += sizeof(VkImageLayout);
}
void count_VkAttachmentReference2KHR(
uint32_t featureBits,
const VkAttachmentReference2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(VkImageLayout);
*count += sizeof(VkImageAspectFlags);
}
void count_VkSubpassDescription2KHR(
uint32_t featureBits,
const VkSubpassDescription2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSubpassDescriptionFlags);
*count += sizeof(VkPipelineBindPoint);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i)
{
count_VkAttachmentReference2KHR(featureBits, (const VkAttachmentReference2KHR*)(toCount->pInputAttachments + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i)
{
count_VkAttachmentReference2KHR(featureBits, (const VkAttachmentReference2KHR*)(toCount->pColorAttachments + i), count);
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pResolveAttachments)
{
for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i)
{
count_VkAttachmentReference2KHR(featureBits, (const VkAttachmentReference2KHR*)(toCount->pResolveAttachments + i), count);
}
}
// WARNING PTR CHECK
*count += 8;
if (toCount->pDepthStencilAttachment)
{
count_VkAttachmentReference2KHR(featureBits, (const VkAttachmentReference2KHR*)(toCount->pDepthStencilAttachment), count);
}
*count += sizeof(uint32_t);
*count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
}
void count_VkSubpassDependency2KHR(
uint32_t featureBits,
const VkSubpassDependency2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(VkPipelineStageFlags);
*count += sizeof(VkPipelineStageFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkAccessFlags);
*count += sizeof(VkDependencyFlags);
*count += sizeof(int32_t);
}
void count_VkRenderPassCreateInfo2KHR(
uint32_t featureBits,
const VkRenderPassCreateInfo2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkRenderPassCreateFlags);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i)
{
count_VkAttachmentDescription2KHR(featureBits, (const VkAttachmentDescription2KHR*)(toCount->pAttachments + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i)
{
count_VkSubpassDescription2KHR(featureBits, (const VkSubpassDescription2KHR*)(toCount->pSubpasses + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i)
{
count_VkSubpassDependency2KHR(featureBits, (const VkSubpassDependency2KHR*)(toCount->pDependencies + i), count);
}
*count += sizeof(uint32_t);
*count += toCount->correlatedViewMaskCount * sizeof(const uint32_t);
}
void count_VkSubpassBeginInfoKHR(
uint32_t featureBits,
const VkSubpassBeginInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSubpassContents);
}
void count_VkSubpassEndInfoKHR(
uint32_t featureBits,
const VkSubpassEndInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
}
#endif
#ifdef VK_KHR_shared_presentable_image
void count_VkSharedPresentSurfaceCapabilitiesKHR(
uint32_t featureBits,
const VkSharedPresentSurfaceCapabilitiesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkImageUsageFlags);
}
#endif
#ifdef VK_KHR_external_fence_capabilities
#endif
#ifdef VK_KHR_external_fence
#endif
#ifdef VK_KHR_external_fence_win32
void count_VkImportFenceWin32HandleInfoKHR(
uint32_t featureBits,
const VkImportFenceWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_73;
*count += 1 * 8;
*count += sizeof(VkFenceImportFlags);
*count += sizeof(VkExternalFenceHandleTypeFlagBits);
*count += sizeof(HANDLE);
*count += sizeof(LPCWSTR);
}
void count_VkExportFenceWin32HandleInfoKHR(
uint32_t featureBits,
const VkExportFenceWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
// WARNING PTR CHECK
*count += 8;
if (toCount->pAttributes)
{
*count += sizeof(const SECURITY_ATTRIBUTES);
}
*count += sizeof(DWORD);
*count += sizeof(LPCWSTR);
}
void count_VkFenceGetWin32HandleInfoKHR(
uint32_t featureBits,
const VkFenceGetWin32HandleInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_74;
*count += 1 * 8;
*count += sizeof(VkExternalFenceHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_external_fence_fd
void count_VkImportFenceFdInfoKHR(
uint32_t featureBits,
const VkImportFenceFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_75;
*count += 1 * 8;
*count += sizeof(VkFenceImportFlags);
*count += sizeof(VkExternalFenceHandleTypeFlagBits);
*count += sizeof(int);
}
void count_VkFenceGetFdInfoKHR(
uint32_t featureBits,
const VkFenceGetFdInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_76;
*count += 1 * 8;
*count += sizeof(VkExternalFenceHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_maintenance2
#endif
#ifdef VK_KHR_get_surface_capabilities2
void count_VkPhysicalDeviceSurfaceInfo2KHR(
uint32_t featureBits,
const VkPhysicalDeviceSurfaceInfo2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_77;
*count += 1 * 8;
}
void count_VkSurfaceCapabilities2KHR(
uint32_t featureBits,
const VkSurfaceCapabilities2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkSurfaceCapabilitiesKHR(featureBits, (VkSurfaceCapabilitiesKHR*)(&toCount->surfaceCapabilities), count);
}
void count_VkSurfaceFormat2KHR(
uint32_t featureBits,
const VkSurfaceFormat2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkSurfaceFormatKHR(featureBits, (VkSurfaceFormatKHR*)(&toCount->surfaceFormat), count);
}
#endif
#ifdef VK_KHR_variable_pointers
#endif
#ifdef VK_KHR_get_display_properties2
void count_VkDisplayProperties2KHR(
uint32_t featureBits,
const VkDisplayProperties2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkDisplayPropertiesKHR(featureBits, (VkDisplayPropertiesKHR*)(&toCount->displayProperties), count);
}
void count_VkDisplayPlaneProperties2KHR(
uint32_t featureBits,
const VkDisplayPlaneProperties2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkDisplayPlanePropertiesKHR(featureBits, (VkDisplayPlanePropertiesKHR*)(&toCount->displayPlaneProperties), count);
}
void count_VkDisplayModeProperties2KHR(
uint32_t featureBits,
const VkDisplayModeProperties2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkDisplayModePropertiesKHR(featureBits, (VkDisplayModePropertiesKHR*)(&toCount->displayModeProperties), count);
}
void count_VkDisplayPlaneInfo2KHR(
uint32_t featureBits,
const VkDisplayPlaneInfo2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_78;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkDisplayPlaneCapabilities2KHR(
uint32_t featureBits,
const VkDisplayPlaneCapabilities2KHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkDisplayPlaneCapabilitiesKHR(featureBits, (VkDisplayPlaneCapabilitiesKHR*)(&toCount->capabilities), count);
}
#endif
#ifdef VK_KHR_dedicated_allocation
#endif
#ifdef VK_KHR_storage_buffer_storage_class
#endif
#ifdef VK_KHR_relaxed_block_layout
#endif
#ifdef VK_KHR_get_memory_requirements2
#endif
#ifdef VK_KHR_image_format_list
void count_VkImageFormatListCreateInfoKHR(
uint32_t featureBits,
const VkImageFormatListCreateInfoKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->viewFormatCount * sizeof(const VkFormat);
}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
#endif
#ifdef VK_KHR_bind_memory2
#endif
#ifdef VK_KHR_maintenance3
#endif
#ifdef VK_KHR_draw_indirect_count
#endif
#ifdef VK_KHR_8bit_storage
void count_VkPhysicalDevice8BitStorageFeaturesKHR(
uint32_t featureBits,
const VkPhysicalDevice8BitStorageFeaturesKHR* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_KHR_shader_float16_int8
void count_VkPhysicalDeviceShaderFloat16Int8Features(
uint32_t featureBits,
const VkPhysicalDeviceShaderFloat16Int8Features* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_ANDROID_native_buffer
void count_VkNativeBufferANDROID(
uint32_t featureBits,
const VkNativeBufferANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
// WARNING PTR CHECK
*count += 8;
if (toCount->handle)
{
*count += sizeof(const uint32_t);
}
*count += sizeof(int);
*count += sizeof(int);
*count += sizeof(int);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
}
#endif
#ifdef VK_EXT_debug_report
void count_VkDebugReportCallbackCreateInfoEXT(
uint32_t featureBits,
const VkDebugReportCallbackCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDebugReportFlagsEXT);
*count += 8;
// WARNING PTR CHECK
*count += 8;
if (toCount->pUserData)
{
*count += sizeof(uint8_t);
}
}
#endif
#ifdef VK_NV_glsl_shader
#endif
#ifdef VK_EXT_depth_range_unrestricted
#endif
#ifdef VK_IMG_filter_cubic
#endif
#ifdef VK_AMD_rasterization_order
void count_VkPipelineRasterizationStateRasterizationOrderAMD(
uint32_t featureBits,
const VkPipelineRasterizationStateRasterizationOrderAMD* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkRasterizationOrderAMD);
}
#endif
#ifdef VK_AMD_shader_trinary_minmax
#endif
#ifdef VK_AMD_shader_explicit_vertex_parameter
#endif
#ifdef VK_EXT_debug_marker
void count_VkDebugMarkerObjectNameInfoEXT(
uint32_t featureBits,
const VkDebugMarkerObjectNameInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDebugReportObjectTypeEXT);
*count += sizeof(uint64_t);
*count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
}
void count_VkDebugMarkerObjectTagInfoEXT(
uint32_t featureBits,
const VkDebugMarkerObjectTagInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDebugReportObjectTypeEXT);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
*count += 8;
*count += toCount->tagSize * sizeof(const uint8_t);
}
void count_VkDebugMarkerMarkerInfoEXT(
uint32_t featureBits,
const VkDebugMarkerMarkerInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t) + (toCount->pMarkerName ? strlen(toCount->pMarkerName) : 0);
*count += 4 * sizeof(float);
}
#endif
#ifdef VK_AMD_gcn_shader
#endif
#ifdef VK_NV_dedicated_allocation
void count_VkDedicatedAllocationImageCreateInfoNV(
uint32_t featureBits,
const VkDedicatedAllocationImageCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkDedicatedAllocationBufferCreateInfoNV(
uint32_t featureBits,
const VkDedicatedAllocationBufferCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkDedicatedAllocationMemoryAllocateInfoNV(
uint32_t featureBits,
const VkDedicatedAllocationMemoryAllocateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_79;
*count += 1 * 8;
uint64_t cgen_var_80;
*count += 1 * 8;
}
#endif
#ifdef VK_AMD_draw_indirect_count
#endif
#ifdef VK_AMD_negative_viewport_height
#endif
#ifdef VK_AMD_gpu_shader_half_float
#endif
#ifdef VK_AMD_shader_ballot
#endif
#ifdef VK_AMD_texture_gather_bias_lod
void count_VkTextureLODGatherFormatPropertiesAMD(
uint32_t featureBits,
const VkTextureLODGatherFormatPropertiesAMD* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_AMD_shader_info
void count_VkShaderResourceUsageAMD(
uint32_t featureBits,
const VkShaderResourceUsageAMD* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 8;
*count += 8;
}
void count_VkShaderStatisticsInfoAMD(
uint32_t featureBits,
const VkShaderStatisticsInfoAMD* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkShaderStageFlags);
count_VkShaderResourceUsageAMD(featureBits, (VkShaderResourceUsageAMD*)(&toCount->resourceUsage), count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += 3 * sizeof(uint32_t);
}
#endif
#ifdef VK_AMD_shader_image_load_store_lod
#endif
#ifdef VK_IMG_format_pvrtc
#endif
#ifdef VK_NV_external_memory_capabilities
void count_VkExternalImageFormatPropertiesNV(
uint32_t featureBits,
const VkExternalImageFormatPropertiesNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
count_VkImageFormatProperties(featureBits, (VkImageFormatProperties*)(&toCount->imageFormatProperties), count);
*count += sizeof(VkExternalMemoryFeatureFlagsNV);
*count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
*count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
}
#endif
#ifdef VK_NV_external_memory
void count_VkExternalMemoryImageCreateInfoNV(
uint32_t featureBits,
const VkExternalMemoryImageCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
}
void count_VkExportMemoryAllocateInfoNV(
uint32_t featureBits,
const VkExportMemoryAllocateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
}
#endif
#ifdef VK_NV_external_memory_win32
void count_VkImportMemoryWin32HandleInfoNV(
uint32_t featureBits,
const VkImportMemoryWin32HandleInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
*count += sizeof(HANDLE);
}
void count_VkExportMemoryWin32HandleInfoNV(
uint32_t featureBits,
const VkExportMemoryWin32HandleInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
// WARNING PTR CHECK
*count += 8;
if (toCount->pAttributes)
{
*count += sizeof(const SECURITY_ATTRIBUTES);
}
*count += sizeof(DWORD);
}
#endif
#ifdef VK_NV_win32_keyed_mutex
void count_VkWin32KeyedMutexAcquireReleaseInfoNV(
uint32_t featureBits,
const VkWin32KeyedMutexAcquireReleaseInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
if (toCount->acquireCount)
{
*count += toCount->acquireCount * 8;
}
*count += toCount->acquireCount * sizeof(const uint64_t);
*count += toCount->acquireCount * sizeof(const uint32_t);
*count += sizeof(uint32_t);
if (toCount->releaseCount)
{
*count += toCount->releaseCount * 8;
}
*count += toCount->releaseCount * sizeof(const uint64_t);
}
#endif
#ifdef VK_EXT_validation_flags
void count_VkValidationFlagsEXT(
uint32_t featureBits,
const VkValidationFlagsEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT);
}
#endif
#ifdef VK_NN_vi_surface
void count_VkViSurfaceCreateInfoNN(
uint32_t featureBits,
const VkViSurfaceCreateInfoNN* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkViSurfaceCreateFlagsNN);
// WARNING PTR CHECK
*count += 8;
if (toCount->window)
{
*count += sizeof(uint8_t);
}
}
#endif
#ifdef VK_EXT_shader_subgroup_ballot
#endif
#ifdef VK_EXT_shader_subgroup_vote
#endif
#ifdef VK_EXT_conditional_rendering
void count_VkConditionalRenderingBeginInfoEXT(
uint32_t featureBits,
const VkConditionalRenderingBeginInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_83;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
*count += sizeof(VkConditionalRenderingFlagsEXT);
}
void count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
uint32_t featureBits,
const VkPhysicalDeviceConditionalRenderingFeaturesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
uint32_t featureBits,
const VkCommandBufferInheritanceConditionalRenderingInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_NVX_device_generated_commands
void count_VkDeviceGeneratedCommandsFeaturesNVX(
uint32_t featureBits,
const VkDeviceGeneratedCommandsFeaturesNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkDeviceGeneratedCommandsLimitsNVX(
uint32_t featureBits,
const VkDeviceGeneratedCommandsLimitsNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkIndirectCommandsTokenNVX(
uint32_t featureBits,
const VkIndirectCommandsTokenNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkIndirectCommandsTokenTypeNVX);
uint64_t cgen_var_84;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
}
void count_VkIndirectCommandsLayoutTokenNVX(
uint32_t featureBits,
const VkIndirectCommandsLayoutTokenNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkIndirectCommandsTokenTypeNVX);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkIndirectCommandsLayoutCreateInfoNVX(
uint32_t featureBits,
const VkIndirectCommandsLayoutCreateInfoNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineBindPoint);
*count += sizeof(VkIndirectCommandsLayoutUsageFlagsNVX);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->tokenCount; ++i)
{
count_VkIndirectCommandsLayoutTokenNVX(featureBits, (const VkIndirectCommandsLayoutTokenNVX*)(toCount->pTokens + i), count);
}
}
void count_VkCmdProcessCommandsInfoNVX(
uint32_t featureBits,
const VkCmdProcessCommandsInfoNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_85;
*count += 1 * 8;
uint64_t cgen_var_86;
*count += 1 * 8;
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->indirectCommandsTokenCount; ++i)
{
count_VkIndirectCommandsTokenNVX(featureBits, (const VkIndirectCommandsTokenNVX*)(toCount->pIndirectCommandsTokens + i), count);
}
*count += sizeof(uint32_t);
uint64_t cgen_var_87;
*count += 1 * 8;
uint64_t cgen_var_88;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
uint64_t cgen_var_89;
*count += 1 * 8;
*count += sizeof(VkDeviceSize);
}
void count_VkCmdReserveSpaceForCommandsInfoNVX(
uint32_t featureBits,
const VkCmdReserveSpaceForCommandsInfoNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_90;
*count += 1 * 8;
uint64_t cgen_var_91;
*count += 1 * 8;
*count += sizeof(uint32_t);
}
void count_VkObjectTableCreateInfoNVX(
uint32_t featureBits,
const VkObjectTableCreateInfoNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->objectCount * sizeof(const VkObjectEntryTypeNVX);
*count += toCount->objectCount * sizeof(const uint32_t);
*count += toCount->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkObjectTableEntryNVX(
uint32_t featureBits,
const VkObjectTableEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
}
void count_VkObjectTablePipelineEntryNVX(
uint32_t featureBits,
const VkObjectTablePipelineEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
uint64_t cgen_var_92;
*count += 1 * 8;
}
void count_VkObjectTableDescriptorSetEntryNVX(
uint32_t featureBits,
const VkObjectTableDescriptorSetEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
uint64_t cgen_var_93;
*count += 1 * 8;
uint64_t cgen_var_94;
*count += 1 * 8;
}
void count_VkObjectTableVertexBufferEntryNVX(
uint32_t featureBits,
const VkObjectTableVertexBufferEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
uint64_t cgen_var_95;
*count += 1 * 8;
}
void count_VkObjectTableIndexBufferEntryNVX(
uint32_t featureBits,
const VkObjectTableIndexBufferEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
uint64_t cgen_var_96;
*count += 1 * 8;
*count += sizeof(VkIndexType);
}
void count_VkObjectTablePushConstantEntryNVX(
uint32_t featureBits,
const VkObjectTablePushConstantEntryNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkObjectEntryTypeNVX);
*count += sizeof(VkObjectEntryUsageFlagsNVX);
uint64_t cgen_var_97;
*count += 1 * 8;
*count += sizeof(VkShaderStageFlags);
}
#endif
#ifdef VK_NV_clip_space_w_scaling
void count_VkViewportWScalingNV(
uint32_t featureBits,
const VkViewportWScalingNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkPipelineViewportWScalingStateCreateInfoNV(
uint32_t featureBits,
const VkPipelineViewportWScalingStateCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pViewportWScalings)
{
for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i)
{
count_VkViewportWScalingNV(featureBits, (const VkViewportWScalingNV*)(toCount->pViewportWScalings + i), count);
}
}
}
#endif
#ifdef VK_EXT_direct_mode_display
#endif
#ifdef VK_EXT_acquire_xlib_display
#endif
#ifdef VK_EXT_display_surface_counter
void count_VkSurfaceCapabilities2EXT(
uint32_t featureBits,
const VkSurfaceCapabilities2EXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->currentExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->minImageExtent), count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxImageExtent), count);
*count += sizeof(uint32_t);
*count += sizeof(VkSurfaceTransformFlagsKHR);
*count += sizeof(VkSurfaceTransformFlagBitsKHR);
*count += sizeof(VkCompositeAlphaFlagsKHR);
*count += sizeof(VkImageUsageFlags);
*count += sizeof(VkSurfaceCounterFlagsEXT);
}
#endif
#ifdef VK_EXT_display_control
void count_VkDisplayPowerInfoEXT(
uint32_t featureBits,
const VkDisplayPowerInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDisplayPowerStateEXT);
}
void count_VkDeviceEventInfoEXT(
uint32_t featureBits,
const VkDeviceEventInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceEventTypeEXT);
}
void count_VkDisplayEventInfoEXT(
uint32_t featureBits,
const VkDisplayEventInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDisplayEventTypeEXT);
}
void count_VkSwapchainCounterCreateInfoEXT(
uint32_t featureBits,
const VkSwapchainCounterCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSurfaceCounterFlagsEXT);
}
#endif
#ifdef VK_GOOGLE_display_timing
void count_VkRefreshCycleDurationGOOGLE(
uint32_t featureBits,
const VkRefreshCycleDurationGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint64_t);
}
void count_VkPastPresentationTimingGOOGLE(
uint32_t featureBits,
const VkPastPresentationTimingGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
}
void count_VkPresentTimeGOOGLE(
uint32_t featureBits,
const VkPresentTimeGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint64_t);
}
void count_VkPresentTimesInfoGOOGLE(
uint32_t featureBits,
const VkPresentTimesInfoGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pTimes)
{
for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i)
{
count_VkPresentTimeGOOGLE(featureBits, (const VkPresentTimeGOOGLE*)(toCount->pTimes + i), count);
}
}
}
#endif
#ifdef VK_NV_sample_mask_override_coverage
#endif
#ifdef VK_NV_geometry_shader_passthrough
#endif
#ifdef VK_NV_viewport_array2
#endif
#ifdef VK_NVX_multiview_per_view_attributes
void count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
uint32_t featureBits,
const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_NV_viewport_swizzle
void count_VkViewportSwizzleNV(
uint32_t featureBits,
const VkViewportSwizzleNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkViewportCoordinateSwizzleNV);
*count += sizeof(VkViewportCoordinateSwizzleNV);
*count += sizeof(VkViewportCoordinateSwizzleNV);
*count += sizeof(VkViewportCoordinateSwizzleNV);
}
void count_VkPipelineViewportSwizzleStateCreateInfoNV(
uint32_t featureBits,
const VkPipelineViewportSwizzleStateCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pViewportSwizzles)
{
for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i)
{
count_VkViewportSwizzleNV(featureBits, (const VkViewportSwizzleNV*)(toCount->pViewportSwizzles + i), count);
}
}
}
#endif
#ifdef VK_EXT_discard_rectangles
void count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceDiscardRectanglePropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkPipelineDiscardRectangleStateCreateInfoEXT(
uint32_t featureBits,
const VkPipelineDiscardRectangleStateCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT);
*count += sizeof(VkDiscardRectangleModeEXT);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pDiscardRectangles)
{
for (uint32_t i = 0; i < (uint32_t)toCount->discardRectangleCount; ++i)
{
count_VkRect2D(featureBits, (const VkRect2D*)(toCount->pDiscardRectangles + i), count);
}
}
}
#endif
#ifdef VK_EXT_conservative_rasterization
void count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPipelineRasterizationConservativeStateCreateInfoEXT(
uint32_t featureBits,
const VkPipelineRasterizationConservativeStateCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT);
*count += sizeof(VkConservativeRasterizationModeEXT);
*count += sizeof(float);
}
#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_hdr_metadata
void count_VkXYColorEXT(
uint32_t featureBits,
const VkXYColorEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkHdrMetadataEXT(
uint32_t featureBits,
const VkHdrMetadataEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkXYColorEXT(featureBits, (VkXYColorEXT*)(&toCount->displayPrimaryRed), count);
count_VkXYColorEXT(featureBits, (VkXYColorEXT*)(&toCount->displayPrimaryGreen), count);
count_VkXYColorEXT(featureBits, (VkXYColorEXT*)(&toCount->displayPrimaryBlue), count);
count_VkXYColorEXT(featureBits, (VkXYColorEXT*)(&toCount->whitePoint), count);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
*count += sizeof(float);
}
#endif
#ifdef VK_MVK_ios_surface
void count_VkIOSSurfaceCreateInfoMVK(
uint32_t featureBits,
const VkIOSSurfaceCreateInfoMVK* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkIOSSurfaceCreateFlagsMVK);
// WARNING PTR CHECK
*count += 8;
if (toCount->pView)
{
*count += sizeof(const uint8_t);
}
}
#endif
#ifdef VK_MVK_macos_surface
void count_VkMacOSSurfaceCreateInfoMVK(
uint32_t featureBits,
const VkMacOSSurfaceCreateInfoMVK* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkMacOSSurfaceCreateFlagsMVK);
// WARNING PTR CHECK
*count += 8;
if (toCount->pView)
{
*count += sizeof(const uint8_t);
}
}
#endif
#ifdef VK_EXT_external_memory_dma_buf
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
void count_VkDebugUtilsObjectNameInfoEXT(
uint32_t featureBits,
const VkDebugUtilsObjectNameInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkObjectType);
*count += sizeof(uint64_t);
if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
{
// WARNING PTR CHECK
*count += 8;
if (toCount->pObjectName)
{
*count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
}
}
else
{
*count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
}
}
void count_VkDebugUtilsObjectTagInfoEXT(
uint32_t featureBits,
const VkDebugUtilsObjectTagInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkObjectType);
*count += sizeof(uint64_t);
*count += sizeof(uint64_t);
*count += 8;
*count += toCount->tagSize * sizeof(const uint8_t);
}
void count_VkDebugUtilsLabelEXT(
uint32_t featureBits,
const VkDebugUtilsLabelEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t) + (toCount->pLabelName ? strlen(toCount->pLabelName) : 0);
*count += 4 * sizeof(float);
}
void count_VkDebugUtilsMessengerCallbackDataEXT(
uint32_t featureBits,
const VkDebugUtilsMessengerCallbackDataEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT);
if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
{
// WARNING PTR CHECK
*count += 8;
if (toCount->pMessageIdName)
{
*count += sizeof(uint32_t) + (toCount->pMessageIdName ? strlen(toCount->pMessageIdName) : 0);
}
}
else
{
*count += sizeof(uint32_t) + (toCount->pMessageIdName ? strlen(toCount->pMessageIdName) : 0);
}
*count += sizeof(int32_t);
*count += sizeof(uint32_t) + (toCount->pMessage ? strlen(toCount->pMessage) : 0);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pQueueLabels)
{
for (uint32_t i = 0; i < (uint32_t)toCount->queueLabelCount; ++i)
{
count_VkDebugUtilsLabelEXT(featureBits, (VkDebugUtilsLabelEXT*)(toCount->pQueueLabels + i), count);
}
}
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pCmdBufLabels)
{
for (uint32_t i = 0; i < (uint32_t)toCount->cmdBufLabelCount; ++i)
{
count_VkDebugUtilsLabelEXT(featureBits, (VkDebugUtilsLabelEXT*)(toCount->pCmdBufLabels + i), count);
}
}
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pObjects)
{
for (uint32_t i = 0; i < (uint32_t)toCount->objectCount; ++i)
{
count_VkDebugUtilsObjectNameInfoEXT(featureBits, (VkDebugUtilsObjectNameInfoEXT*)(toCount->pObjects + i), count);
}
}
}
void count_VkDebugUtilsMessengerCreateInfoEXT(
uint32_t featureBits,
const VkDebugUtilsMessengerCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDebugUtilsMessengerCreateFlagsEXT);
*count += sizeof(VkDebugUtilsMessageSeverityFlagsEXT);
*count += sizeof(VkDebugUtilsMessageTypeFlagsEXT);
*count += 8;
// WARNING PTR CHECK
*count += 8;
if (toCount->pUserData)
{
*count += sizeof(uint8_t);
}
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
void count_VkAndroidHardwareBufferUsageANDROID(
uint32_t featureBits,
const VkAndroidHardwareBufferUsageANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint64_t);
}
void count_VkAndroidHardwareBufferPropertiesANDROID(
uint32_t featureBits,
const VkAndroidHardwareBufferPropertiesANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceSize);
*count += sizeof(uint32_t);
}
void count_VkAndroidHardwareBufferFormatPropertiesANDROID(
uint32_t featureBits,
const VkAndroidHardwareBufferFormatPropertiesANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkFormat);
*count += sizeof(uint64_t);
*count += sizeof(VkFormatFeatureFlags);
count_VkComponentMapping(featureBits, (VkComponentMapping*)(&toCount->samplerYcbcrConversionComponents), count);
*count += sizeof(VkSamplerYcbcrModelConversion);
*count += sizeof(VkSamplerYcbcrRange);
*count += sizeof(VkChromaLocation);
*count += sizeof(VkChromaLocation);
}
void count_VkImportAndroidHardwareBufferInfoANDROID(
uint32_t featureBits,
const VkImportAndroidHardwareBufferInfoANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(AHardwareBuffer);
}
void count_VkMemoryGetAndroidHardwareBufferInfoANDROID(
uint32_t featureBits,
const VkMemoryGetAndroidHardwareBufferInfoANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_98;
*count += 1 * 8;
}
void count_VkExternalFormatANDROID(
uint32_t featureBits,
const VkExternalFormatANDROID* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint64_t);
}
#endif
#ifdef VK_EXT_sampler_filter_minmax
void count_VkSamplerReductionModeCreateInfoEXT(
uint32_t featureBits,
const VkSamplerReductionModeCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSamplerReductionModeEXT);
}
void count_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
#endif
#ifdef VK_AMD_gpu_shader_int16
#endif
#ifdef VK_AMD_mixed_attachment_samples
#endif
#ifdef VK_AMD_shader_fragment_mask
#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_sample_locations
void count_VkSampleLocationEXT(
uint32_t featureBits,
const VkSampleLocationEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(float);
*count += sizeof(float);
}
void count_VkSampleLocationsInfoEXT(
uint32_t featureBits,
const VkSampleLocationsInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSampleCountFlagBits);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->sampleLocationGridSize), count);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->sampleLocationsCount; ++i)
{
count_VkSampleLocationEXT(featureBits, (const VkSampleLocationEXT*)(toCount->pSampleLocations + i), count);
}
}
void count_VkAttachmentSampleLocationsEXT(
uint32_t featureBits,
const VkAttachmentSampleLocationsEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
count_VkSampleLocationsInfoEXT(featureBits, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
}
void count_VkSubpassSampleLocationsEXT(
uint32_t featureBits,
const VkSubpassSampleLocationsEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
count_VkSampleLocationsInfoEXT(featureBits, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
}
void count_VkRenderPassSampleLocationsBeginInfoEXT(
uint32_t featureBits,
const VkRenderPassSampleLocationsBeginInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->attachmentInitialSampleLocationsCount; ++i)
{
count_VkAttachmentSampleLocationsEXT(featureBits, (const VkAttachmentSampleLocationsEXT*)(toCount->pAttachmentInitialSampleLocations + i), count);
}
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->postSubpassSampleLocationsCount; ++i)
{
count_VkSubpassSampleLocationsEXT(featureBits, (const VkSubpassSampleLocationsEXT*)(toCount->pPostSubpassSampleLocations + i), count);
}
}
void count_VkPipelineSampleLocationsStateCreateInfoEXT(
uint32_t featureBits,
const VkPipelineSampleLocationsStateCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
count_VkSampleLocationsInfoEXT(featureBits, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
}
void count_VkPhysicalDeviceSampleLocationsPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceSampleLocationsPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkSampleCountFlags);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxSampleLocationGridSize), count);
*count += 2 * sizeof(float);
*count += sizeof(uint32_t);
*count += sizeof(VkBool32);
}
void count_VkMultisamplePropertiesEXT(
uint32_t featureBits,
const VkMultisamplePropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
count_VkExtent2D(featureBits, (VkExtent2D*)(&toCount->maxSampleLocationGridSize), count);
}
#endif
#ifdef VK_EXT_blend_operation_advanced
void count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
uint32_t featureBits,
const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
uint32_t featureBits,
const VkPipelineColorBlendAdvancedStateCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBlendOverlapEXT);
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
void count_VkPipelineCoverageToColorStateCreateInfoNV(
uint32_t featureBits,
const VkPipelineCoverageToColorStateCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineCoverageToColorStateCreateFlagsNV);
*count += sizeof(VkBool32);
*count += sizeof(uint32_t);
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
void count_VkPipelineCoverageModulationStateCreateInfoNV(
uint32_t featureBits,
const VkPipelineCoverageModulationStateCreateInfoNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineCoverageModulationStateCreateFlagsNV);
*count += sizeof(VkCoverageModulationModeNV);
*count += sizeof(VkBool32);
*count += sizeof(uint32_t);
// WARNING PTR CHECK
*count += 8;
if (toCount->pCoverageModulationTable)
{
*count += toCount->coverageModulationTableCount * sizeof(const float);
}
}
#endif
#ifdef VK_NV_fill_rectangle
#endif
#ifdef VK_EXT_post_depth_coverage
#endif
#ifdef VK_EXT_validation_cache
void count_VkValidationCacheCreateInfoEXT(
uint32_t featureBits,
const VkValidationCacheCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkValidationCacheCreateFlagsEXT);
*count += 8;
*count += toCount->initialDataSize * sizeof(const uint8_t);
}
void count_VkShaderModuleValidationCacheCreateInfoEXT(
uint32_t featureBits,
const VkShaderModuleValidationCacheCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
uint64_t cgen_var_99;
*count += 1 * 8;
}
#endif
#ifdef VK_EXT_descriptor_indexing
void count_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
uint32_t featureBits,
const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT);
}
void count_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
uint32_t featureBits,
const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
}
void count_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(VkBool32);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
uint32_t featureBits,
const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += toCount->descriptorSetCount * sizeof(const uint32_t);
}
void count_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
uint32_t featureBits,
const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
#endif
#ifdef VK_EXT_shader_viewport_index_layer
#endif
#ifdef VK_EXT_global_priority
void count_VkDeviceQueueGlobalPriorityCreateInfoEXT(
uint32_t featureBits,
const VkDeviceQueueGlobalPriorityCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkQueueGlobalPriorityEXT);
}
#endif
#ifdef VK_EXT_external_memory_host
void count_VkImportMemoryHostPointerInfoEXT(
uint32_t featureBits,
const VkImportMemoryHostPointerInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkExternalMemoryHandleTypeFlagBits);
// WARNING PTR CHECK
*count += 8;
if (toCount->pHostPointer)
{
*count += sizeof(uint8_t);
}
}
void count_VkMemoryHostPointerPropertiesEXT(
uint32_t featureBits,
const VkMemoryHostPointerPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkDeviceSize);
}
#endif
#ifdef VK_AMD_buffer_marker
#endif
#ifdef VK_AMD_shader_core_properties
void count_VkPhysicalDeviceShaderCorePropertiesAMD(
uint32_t featureBits,
const VkPhysicalDeviceShaderCorePropertiesAMD* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
void count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
uint32_t featureBits,
const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkVertexInputBindingDivisorDescriptionEXT(
uint32_t featureBits,
const VkVertexInputBindingDivisorDescriptionEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(uint32_t);
*count += sizeof(uint32_t);
}
void count_VkPipelineVertexInputDivisorStateCreateInfoEXT(
uint32_t featureBits,
const VkPipelineVertexInputDivisorStateCreateInfoEXT* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)toCount->vertexBindingDivisorCount; ++i)
{
count_VkVertexInputBindingDivisorDescriptionEXT(featureBits, (const VkVertexInputBindingDivisorDescriptionEXT*)(toCount->pVertexBindingDivisors + i), count);
}
}
#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
void count_VkQueueFamilyCheckpointPropertiesNV(
uint32_t featureBits,
const VkQueueFamilyCheckpointPropertiesNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineStageFlags);
}
void count_VkCheckpointDataNV(
uint32_t featureBits,
const VkCheckpointDataNV* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(VkPipelineStageFlagBits);
// WARNING PTR CHECK
*count += 8;
if (toCount->pCheckpointMarker)
{
*count += sizeof(uint8_t);
}
}
#endif
#ifdef VK_GOOGLE_address_space
#endif
#ifdef VK_GOOGLE_color_buffer
void count_VkImportColorBufferGOOGLE(
uint32_t featureBits,
const VkImportColorBufferGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkImportBufferGOOGLE(
uint32_t featureBits,
const VkImportBufferGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint32_t);
}
void count_VkImportPhysicalAddressGOOGLE(
uint32_t featureBits,
const VkImportPhysicalAddressGOOGLE* toCount,
size_t* count)
{
(void)featureBits;
(void)toCount;
(void)count;
*count += sizeof(VkStructureType);
count_extension_struct(featureBits, toCount->pNext, count);
*count += sizeof(uint64_t);
*count += sizeof(VkDeviceSize);
*count += sizeof(VkFormat);
*count += sizeof(VkImageTiling);
*count += sizeof(uint32_t);
}
#endif
#ifdef VK_GOOGLE_sized_descriptor_update_template
#endif
#ifdef VK_GOOGLE_async_command_buffers
#endif
#ifdef VK_GOOGLE_create_resources_with_requirements
#endif
#ifdef VK_GOOGLE_address_space_info
#endif
#ifdef VK_GOOGLE_free_memory_sync
#endif
#ifdef VK_GOOGLE_async_queue_submit
#endif
#ifdef VK_GOOGLE_linear_image_layout
#endif
#ifdef VK_MVK_moltenvk
#endif
#ifdef VK_GOOGLE_queue_submit_with_commands
#endif
void count_extension_struct(
uint32_t featureBits,
const void* structExtension,
size_t* count)
{
VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(featureBits, structExtension);
if (!currExtSize && structExtension)
{
// unknown struct extension; skip and call on its pNext field
count_extension_struct(featureBits, (void*)structAccess->pNext, count);
return;
}
else
{
// known or null extension struct
*count += sizeof(uint32_t);
if (!currExtSize)
{
// exit if this was a null extension struct (size == 0 in this branch)
return;
}
}
*count += sizeof(VkStructureType);
if (!structExtension)
{
return;
}
uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
switch(structType)
{
#ifdef VK_VERSION_1_1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
{
count_VkPhysicalDeviceSubgroupProperties(featureBits, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
{
count_VkPhysicalDevice16BitStorageFeatures(featureBits, reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
{
count_VkMemoryDedicatedRequirements(featureBits, reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
{
count_VkMemoryDedicatedAllocateInfo(featureBits, reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
{
count_VkMemoryAllocateFlagsInfo(featureBits, reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
{
count_VkDeviceGroupRenderPassBeginInfo(featureBits, reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
{
count_VkDeviceGroupCommandBufferBeginInfo(featureBits, reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
{
count_VkDeviceGroupSubmitInfo(featureBits, reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
{
count_VkDeviceGroupBindSparseInfo(featureBits, reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
{
count_VkBindBufferMemoryDeviceGroupInfo(featureBits, reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
{
count_VkBindImageMemoryDeviceGroupInfo(featureBits, reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
{
count_VkDeviceGroupDeviceCreateInfo(featureBits, reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
{
count_VkPhysicalDeviceFeatures2(featureBits, reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
{
count_VkPhysicalDevicePointClippingProperties(featureBits, reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
{
count_VkRenderPassInputAttachmentAspectCreateInfo(featureBits, reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
{
count_VkImageViewUsageCreateInfo(featureBits, reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
{
count_VkPipelineTessellationDomainOriginStateCreateInfo(featureBits, reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
{
count_VkRenderPassMultiviewCreateInfo(featureBits, reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
{
count_VkPhysicalDeviceMultiviewFeatures(featureBits, reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
{
count_VkPhysicalDeviceMultiviewProperties(featureBits, reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
{
count_VkPhysicalDeviceVariablePointerFeatures(featureBits, reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
{
count_VkPhysicalDeviceProtectedMemoryFeatures(featureBits, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
{
count_VkPhysicalDeviceProtectedMemoryProperties(featureBits, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
{
count_VkProtectedSubmitInfo(featureBits, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
{
count_VkSamplerYcbcrConversionInfo(featureBits, reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
{
count_VkBindImagePlaneMemoryInfo(featureBits, reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
{
count_VkImagePlaneMemoryRequirementsInfo(featureBits, reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
{
count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(featureBits, reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
{
count_VkSamplerYcbcrConversionImageFormatProperties(featureBits, reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
{
count_VkPhysicalDeviceExternalImageFormatInfo(featureBits, reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
{
count_VkExternalImageFormatProperties(featureBits, reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
{
count_VkPhysicalDeviceIDProperties(featureBits, reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
{
count_VkExternalMemoryImageCreateInfo(featureBits, reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
{
count_VkExternalMemoryBufferCreateInfo(featureBits, reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
{
count_VkExportMemoryAllocateInfo(featureBits, reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
{
count_VkExportFenceCreateInfo(featureBits, reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
{
count_VkExportSemaphoreCreateInfo(featureBits, reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
{
count_VkPhysicalDeviceMaintenance3Properties(featureBits, reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
{
count_VkPhysicalDeviceShaderDrawParameterFeatures(featureBits, reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
{
count_VkImageSwapchainCreateInfoKHR(featureBits, reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
{
count_VkBindImageMemorySwapchainInfoKHR(featureBits, reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
{
count_VkDeviceGroupPresentInfoKHR(featureBits, reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
{
count_VkDeviceGroupSwapchainCreateInfoKHR(featureBits, reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_display_swapchain
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
{
count_VkDisplayPresentInfoKHR(featureBits, reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
{
count_VkImportMemoryWin32HandleInfoKHR(featureBits, reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
{
count_VkExportMemoryWin32HandleInfoKHR(featureBits, reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_external_memory_fd
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
{
count_VkImportMemoryFdInfoKHR(featureBits, reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
{
count_VkWin32KeyedMutexAcquireReleaseInfoKHR(featureBits, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_external_semaphore_win32
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
{
count_VkExportSemaphoreWin32HandleInfoKHR(featureBits, reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
{
count_VkD3D12FenceSubmitInfoKHR(featureBits, reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_push_descriptor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
{
count_VkPhysicalDevicePushDescriptorPropertiesKHR(featureBits, reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
{
count_VkPresentRegionsKHR(featureBits, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_shared_presentable_image
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
{
count_VkSharedPresentSurfaceCapabilitiesKHR(featureBits, reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_external_fence_win32
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
{
count_VkExportFenceWin32HandleInfoKHR(featureBits, reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_image_format_list
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
{
count_VkImageFormatListCreateInfoKHR(featureBits, reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_8bit_storage
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
{
count_VkPhysicalDevice8BitStorageFeaturesKHR(featureBits, reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension), count);
break;
}
#endif
#ifdef VK_KHR_shader_float16_int8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
{
count_VkPhysicalDeviceShaderFloat16Int8Features(featureBits, reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension), count);
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
{
count_VkNativeBufferANDROID(featureBits, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_debug_report
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
{
count_VkDebugReportCallbackCreateInfoEXT(featureBits, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_AMD_rasterization_order
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
{
count_VkPipelineRasterizationStateRasterizationOrderAMD(featureBits, reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_dedicated_allocation
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
{
count_VkDedicatedAllocationImageCreateInfoNV(featureBits, reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
{
count_VkDedicatedAllocationBufferCreateInfoNV(featureBits, reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
{
count_VkDedicatedAllocationMemoryAllocateInfoNV(featureBits, reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
{
count_VkTextureLODGatherFormatPropertiesAMD(featureBits, reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_external_memory
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
{
count_VkExternalMemoryImageCreateInfoNV(featureBits, reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
{
count_VkExportMemoryAllocateInfoNV(featureBits, reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
{
count_VkImportMemoryWin32HandleInfoNV(featureBits, reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
{
count_VkExportMemoryWin32HandleInfoNV(featureBits, reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
{
count_VkWin32KeyedMutexAcquireReleaseInfoNV(featureBits, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_validation_flags
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
{
count_VkValidationFlagsEXT(featureBits, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_conditional_rendering
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
{
count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
{
count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(featureBits, reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_clip_space_w_scaling
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
{
count_VkPipelineViewportWScalingStateCreateInfoNV(featureBits, reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_display_control
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
{
count_VkSwapchainCounterCreateInfoEXT(featureBits, reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_GOOGLE_display_timing
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
{
count_VkPresentTimesInfoGOOGLE(featureBits, reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension), count);
break;
}
#endif
#ifdef VK_NVX_multiview_per_view_attributes
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
{
count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(featureBits, reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_viewport_swizzle
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
{
count_VkPipelineViewportSwizzleStateCreateInfoNV(featureBits, reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_discard_rectangles
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
{
count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
{
count_VkPipelineDiscardRectangleStateCreateInfoEXT(featureBits, reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_conservative_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
{
count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
{
count_VkPipelineRasterizationConservativeStateCreateInfoEXT(featureBits, reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_debug_utils
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
{
count_VkDebugUtilsMessengerCreateInfoEXT(featureBits, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
{
count_VkAndroidHardwareBufferUsageANDROID(featureBits, reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
{
count_VkAndroidHardwareBufferFormatPropertiesANDROID(featureBits, reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
{
count_VkImportAndroidHardwareBufferInfoANDROID(featureBits, reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
{
count_VkExternalFormatANDROID(featureBits, reinterpret_cast<const VkExternalFormatANDROID*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_sampler_filter_minmax
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
{
count_VkSamplerReductionModeCreateInfoEXT(featureBits, reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
{
count_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_sample_locations
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
{
count_VkSampleLocationsInfoEXT(featureBits, reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
{
count_VkRenderPassSampleLocationsBeginInfoEXT(featureBits, reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
{
count_VkPipelineSampleLocationsStateCreateInfoEXT(featureBits, reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
{
count_VkPhysicalDeviceSampleLocationsPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_blend_operation_advanced
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
{
count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
{
count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
{
count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(featureBits, reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
{
count_VkPipelineCoverageToColorStateCreateInfoNV(featureBits, reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
{
count_VkPipelineCoverageModulationStateCreateInfoNV(featureBits, reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_validation_cache
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
{
count_VkShaderModuleValidationCacheCreateInfoEXT(featureBits, reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_descriptor_indexing
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
{
count_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(featureBits, reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
{
count_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
{
count_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
{
count_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(featureBits, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
{
count_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(featureBits, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_global_priority
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
{
count_VkDeviceQueueGlobalPriorityCreateInfoEXT(featureBits, reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_external_memory_host
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
{
count_VkImportMemoryHostPointerInfoEXT(featureBits, reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
{
count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_AMD_shader_core_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
{
count_VkPhysicalDeviceShaderCorePropertiesAMD(featureBits, reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension), count);
break;
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
{
count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(featureBits, reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
{
count_VkPipelineVertexInputDivisorStateCreateInfoEXT(featureBits, reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension), count);
break;
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
{
count_VkQueueFamilyCheckpointPropertiesNV(featureBits, reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension), count);
break;
}
#endif
#ifdef VK_GOOGLE_color_buffer
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
{
count_VkImportColorBufferGOOGLE(featureBits, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
{
count_VkImportBufferGOOGLE(featureBits, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
{
count_VkImportPhysicalAddressGOOGLE(featureBits, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension), count);
break;
}
#endif
default:
{
// fatal; the switch is only taken if the extension struct is known
abort();
}
}
}
} // namespace goldfish_vk