blob: 8fd7d620394cdb029e1ff9e2bcabc5828080562a [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_testing
//
// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
//
// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
// $CEREAL_OUTPUT_DIR
//
#include "goldfish_vk_testing.h"
#include <string.h>
#include "goldfish_vk_extension_structs.h"
#include "goldfish_vk_private_defs.h"
namespace gfxstream {
namespace vk {
void checkEqual_extension_struct(const void* structExtension, const void* structExtension2,
OnFailCompareFunc onFail);
#ifdef VK_VERSION_1_0
void checkEqual_VkExtent2D(const VkExtent2D* a, const VkExtent2D* b, OnFailCompareFunc onFail) {
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
}
void checkEqual_VkExtent3D(const VkExtent3D* a, const VkExtent3D* b, OnFailCompareFunc onFail) {
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
if (!((a->depth) == (b->depth))) {
onFail("a->depth (Error: Value not equal)");
};
}
void checkEqual_VkOffset2D(const VkOffset2D* a, const VkOffset2D* b, OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
}
void checkEqual_VkOffset3D(const VkOffset3D* a, const VkOffset3D* b, OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
if (!((a->z) == (b->z))) {
onFail("a->z (Error: Value not equal)");
};
}
void checkEqual_VkRect2D(const VkRect2D* a, const VkRect2D* b, OnFailCompareFunc onFail) {
checkEqual_VkOffset2D(&a->offset, &b->offset, onFail);
checkEqual_VkExtent2D(&a->extent, &b->extent, onFail);
}
void checkEqual_VkBaseInStructure(const VkBaseInStructure* a, const VkBaseInStructure* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
}
void checkEqual_VkBaseOutStructure(const VkBaseOutStructure* a, const VkBaseOutStructure* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
}
void checkEqual_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* a,
const VkBufferMemoryBarrier* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->srcQueueFamilyIndex) == (b->srcQueueFamilyIndex))) {
onFail("a->srcQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->dstQueueFamilyIndex) == (b->dstQueueFamilyIndex))) {
onFail("a->dstQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkDispatchIndirectCommand(const VkDispatchIndirectCommand* a,
const VkDispatchIndirectCommand* b,
OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
if (!((a->z) == (b->z))) {
onFail("a->z (Error: Value not equal)");
};
}
void checkEqual_VkDrawIndexedIndirectCommand(const VkDrawIndexedIndirectCommand* a,
const VkDrawIndexedIndirectCommand* b,
OnFailCompareFunc onFail) {
if (!((a->indexCount) == (b->indexCount))) {
onFail("a->indexCount (Error: Value not equal)");
};
if (!((a->instanceCount) == (b->instanceCount))) {
onFail("a->instanceCount (Error: Value not equal)");
};
if (!((a->firstIndex) == (b->firstIndex))) {
onFail("a->firstIndex (Error: Value not equal)");
};
if (!((a->vertexOffset) == (b->vertexOffset))) {
onFail("a->vertexOffset (Error: Value not equal)");
};
if (!((a->firstInstance) == (b->firstInstance))) {
onFail("a->firstInstance (Error: Value not equal)");
};
}
void checkEqual_VkDrawIndirectCommand(const VkDrawIndirectCommand* a,
const VkDrawIndirectCommand* b, OnFailCompareFunc onFail) {
if (!((a->vertexCount) == (b->vertexCount))) {
onFail("a->vertexCount (Error: Value not equal)");
};
if (!((a->instanceCount) == (b->instanceCount))) {
onFail("a->instanceCount (Error: Value not equal)");
};
if (!((a->firstVertex) == (b->firstVertex))) {
onFail("a->firstVertex (Error: Value not equal)");
};
if (!((a->firstInstance) == (b->firstInstance))) {
onFail("a->firstInstance (Error: Value not equal)");
};
}
void checkEqual_VkImageSubresourceRange(const VkImageSubresourceRange* a,
const VkImageSubresourceRange* b,
OnFailCompareFunc onFail) {
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
if (!((a->baseMipLevel) == (b->baseMipLevel))) {
onFail("a->baseMipLevel (Error: Value not equal)");
};
if (!((a->levelCount) == (b->levelCount))) {
onFail("a->levelCount (Error: Value not equal)");
};
if (!((a->baseArrayLayer) == (b->baseArrayLayer))) {
onFail("a->baseArrayLayer (Error: Value not equal)");
};
if (!((a->layerCount) == (b->layerCount))) {
onFail("a->layerCount (Error: Value not equal)");
};
}
void checkEqual_VkImageMemoryBarrier(const VkImageMemoryBarrier* a, const VkImageMemoryBarrier* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->oldLayout) == (b->oldLayout))) {
onFail("a->oldLayout (Error: Value not equal)");
};
if (!((a->newLayout) == (b->newLayout))) {
onFail("a->newLayout (Error: Value not equal)");
};
if (!((a->srcQueueFamilyIndex) == (b->srcQueueFamilyIndex))) {
onFail("a->srcQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->dstQueueFamilyIndex) == (b->dstQueueFamilyIndex))) {
onFail("a->dstQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
checkEqual_VkImageSubresourceRange(&a->subresourceRange, &b->subresourceRange, onFail);
}
void checkEqual_VkMemoryBarrier(const VkMemoryBarrier* a, const VkMemoryBarrier* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
}
void checkEqual_VkPipelineCacheHeaderVersionOne(const VkPipelineCacheHeaderVersionOne* a,
const VkPipelineCacheHeaderVersionOne* b,
OnFailCompareFunc onFail) {
if (!((a->headerSize) == (b->headerSize))) {
onFail("a->headerSize (Error: Value not equal)");
};
if (!((a->headerVersion) == (b->headerVersion))) {
onFail("a->headerVersion (Error: Value not equal)");
};
if (!((a->vendorID) == (b->vendorID))) {
onFail("a->vendorID (Error: Value not equal)");
};
if (!((a->deviceID) == (b->deviceID))) {
onFail("a->deviceID (Error: Value not equal)");
};
if (!((memcmp(a->pipelineCacheUUID, b->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)) ==
0))) {
onFail("a->pipelineCacheUUID (Error: Unequal static array)");
};
}
void checkEqual_VkAllocationCallbacks(const VkAllocationCallbacks* a,
const VkAllocationCallbacks* b, OnFailCompareFunc onFail) {
if (!((!(a->pUserData) && !(b->pUserData)) || ((a->pUserData) && (b->pUserData)))) {
onFail("a->pUserData (Error: Mismatch in optional field)");
};
if (!((a->pfnAllocation) == (b->pfnAllocation))) {
onFail("a->pfnAllocation (Error: Value not equal)");
};
if (!((a->pfnReallocation) == (b->pfnReallocation))) {
onFail("a->pfnReallocation (Error: Value not equal)");
};
if (!((a->pfnFree) == (b->pfnFree))) {
onFail("a->pfnFree (Error: Value not equal)");
};
if (!((a->pfnInternalAllocation) == (b->pfnInternalAllocation))) {
onFail("a->pfnInternalAllocation (Error: Value not equal)");
};
if (!((a->pfnInternalFree) == (b->pfnInternalFree))) {
onFail("a->pfnInternalFree (Error: Value not equal)");
};
}
void checkEqual_VkApplicationInfo(const VkApplicationInfo* a, const VkApplicationInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pApplicationName) && !(b->pApplicationName)) ||
((a->pApplicationName) && (b->pApplicationName)))) {
onFail("a->pApplicationName (Error: Mismatch in optional field)");
};
if (a->pApplicationName && b->pApplicationName) {
if (!((!(a->pApplicationName) && !(b->pApplicationName)) ||
((a->pApplicationName) && (b->pApplicationName)))) {
onFail("a->pApplicationName (Error: Mismatch in string pointer nullness)");
};
if ((a->pApplicationName) && (b->pApplicationName)) {
if (!((strcmp(a->pApplicationName, b->pApplicationName) == 0))) {
onFail("a->pApplicationName (Error: Unequal strings)");
};
}
}
if (!((a->applicationVersion) == (b->applicationVersion))) {
onFail("a->applicationVersion (Error: Value not equal)");
};
if (!((!(a->pEngineName) && !(b->pEngineName)) || ((a->pEngineName) && (b->pEngineName)))) {
onFail("a->pEngineName (Error: Mismatch in optional field)");
};
if (a->pEngineName && b->pEngineName) {
if (!((!(a->pEngineName) && !(b->pEngineName)) || ((a->pEngineName) && (b->pEngineName)))) {
onFail("a->pEngineName (Error: Mismatch in string pointer nullness)");
};
if ((a->pEngineName) && (b->pEngineName)) {
if (!((strcmp(a->pEngineName, b->pEngineName) == 0))) {
onFail("a->pEngineName (Error: Unequal strings)");
};
}
}
if (!((a->engineVersion) == (b->engineVersion))) {
onFail("a->engineVersion (Error: Value not equal)");
};
if (!((a->apiVersion) == (b->apiVersion))) {
onFail("a->apiVersion (Error: Value not equal)");
};
}
void checkEqual_VkFormatProperties(const VkFormatProperties* a, const VkFormatProperties* b,
OnFailCompareFunc onFail) {
if (!((a->linearTilingFeatures) == (b->linearTilingFeatures))) {
onFail("a->linearTilingFeatures (Error: Value not equal)");
};
if (!((a->optimalTilingFeatures) == (b->optimalTilingFeatures))) {
onFail("a->optimalTilingFeatures (Error: Value not equal)");
};
if (!((a->bufferFeatures) == (b->bufferFeatures))) {
onFail("a->bufferFeatures (Error: Value not equal)");
};
}
void checkEqual_VkImageFormatProperties(const VkImageFormatProperties* a,
const VkImageFormatProperties* b,
OnFailCompareFunc onFail) {
checkEqual_VkExtent3D(&a->maxExtent, &b->maxExtent, onFail);
if (!((a->maxMipLevels) == (b->maxMipLevels))) {
onFail("a->maxMipLevels (Error: Value not equal)");
};
if (!((a->maxArrayLayers) == (b->maxArrayLayers))) {
onFail("a->maxArrayLayers (Error: Value not equal)");
};
if (!((a->sampleCounts) == (b->sampleCounts))) {
onFail("a->sampleCounts (Error: Value not equal)");
};
if (!((a->maxResourceSize) == (b->maxResourceSize))) {
onFail("a->maxResourceSize (Error: Value not equal)");
};
}
void checkEqual_VkInstanceCreateInfo(const VkInstanceCreateInfo* a, const VkInstanceCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pApplicationInfo) && !(b->pApplicationInfo)) ||
((a->pApplicationInfo) && (b->pApplicationInfo)))) {
onFail("a->pApplicationInfo (Error: Mismatch in optional field)");
};
if (a->pApplicationInfo && b->pApplicationInfo) {
if ((a->pApplicationInfo) && (b->pApplicationInfo)) {
checkEqual_VkApplicationInfo(a->pApplicationInfo, b->pApplicationInfo, onFail);
}
}
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->enabledLayerCount (Error: Value not equal)");
};
if (!((!(a->ppEnabledLayerNames) && !(b->ppEnabledLayerNames)) ||
((a->ppEnabledLayerNames) && (b->ppEnabledLayerNames)))) {
onFail("a->ppEnabledLayerNames (Error: Mismatch in string array pointer nullness)");
};
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->ppEnabledLayerNames (Error: Lengths not equal in string array)");
};
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->ppEnabledLayerNames (Error: Lengths not equal in string array)");
};
if ((a->enabledLayerCount) == (b->enabledLayerCount) && (a->ppEnabledLayerNames) &&
(b->ppEnabledLayerNames)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->enabledLayerCount; ++i) {
if (!((strcmp(*(a->ppEnabledLayerNames + i), *(b->ppEnabledLayerNames + i)) ==
0))) {
onFail("a->ppEnabledLayerNames (Error: Unequal string in string array)");
};
}
}
}
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->enabledExtensionCount (Error: Value not equal)");
};
if (!((!(a->ppEnabledExtensionNames) && !(b->ppEnabledExtensionNames)) ||
((a->ppEnabledExtensionNames) && (b->ppEnabledExtensionNames)))) {
onFail("a->ppEnabledExtensionNames (Error: Mismatch in string array pointer nullness)");
};
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->ppEnabledExtensionNames (Error: Lengths not equal in string array)");
};
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->ppEnabledExtensionNames (Error: Lengths not equal in string array)");
};
if ((a->enabledExtensionCount) == (b->enabledExtensionCount) && (a->ppEnabledExtensionNames) &&
(b->ppEnabledExtensionNames)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->enabledExtensionCount; ++i) {
if (!((strcmp(*(a->ppEnabledExtensionNames + i),
*(b->ppEnabledExtensionNames + i)) == 0))) {
onFail("a->ppEnabledExtensionNames (Error: Unequal string in string array)");
};
}
}
}
}
void checkEqual_VkMemoryHeap(const VkMemoryHeap* a, const VkMemoryHeap* b,
OnFailCompareFunc onFail) {
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkMemoryType(const VkMemoryType* a, const VkMemoryType* b,
OnFailCompareFunc onFail) {
if (!((a->propertyFlags) == (b->propertyFlags))) {
onFail("a->propertyFlags (Error: Value not equal)");
};
if (!((a->heapIndex) == (b->heapIndex))) {
onFail("a->heapIndex (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures* a,
const VkPhysicalDeviceFeatures* b,
OnFailCompareFunc onFail) {
if (!((a->robustBufferAccess) == (b->robustBufferAccess))) {
onFail("a->robustBufferAccess (Error: Value not equal)");
};
if (!((a->fullDrawIndexUint32) == (b->fullDrawIndexUint32))) {
onFail("a->fullDrawIndexUint32 (Error: Value not equal)");
};
if (!((a->imageCubeArray) == (b->imageCubeArray))) {
onFail("a->imageCubeArray (Error: Value not equal)");
};
if (!((a->independentBlend) == (b->independentBlend))) {
onFail("a->independentBlend (Error: Value not equal)");
};
if (!((a->geometryShader) == (b->geometryShader))) {
onFail("a->geometryShader (Error: Value not equal)");
};
if (!((a->tessellationShader) == (b->tessellationShader))) {
onFail("a->tessellationShader (Error: Value not equal)");
};
if (!((a->sampleRateShading) == (b->sampleRateShading))) {
onFail("a->sampleRateShading (Error: Value not equal)");
};
if (!((a->dualSrcBlend) == (b->dualSrcBlend))) {
onFail("a->dualSrcBlend (Error: Value not equal)");
};
if (!((a->logicOp) == (b->logicOp))) {
onFail("a->logicOp (Error: Value not equal)");
};
if (!((a->multiDrawIndirect) == (b->multiDrawIndirect))) {
onFail("a->multiDrawIndirect (Error: Value not equal)");
};
if (!((a->drawIndirectFirstInstance) == (b->drawIndirectFirstInstance))) {
onFail("a->drawIndirectFirstInstance (Error: Value not equal)");
};
if (!((a->depthClamp) == (b->depthClamp))) {
onFail("a->depthClamp (Error: Value not equal)");
};
if (!((a->depthBiasClamp) == (b->depthBiasClamp))) {
onFail("a->depthBiasClamp (Error: Value not equal)");
};
if (!((a->fillModeNonSolid) == (b->fillModeNonSolid))) {
onFail("a->fillModeNonSolid (Error: Value not equal)");
};
if (!((a->depthBounds) == (b->depthBounds))) {
onFail("a->depthBounds (Error: Value not equal)");
};
if (!((a->wideLines) == (b->wideLines))) {
onFail("a->wideLines (Error: Value not equal)");
};
if (!((a->largePoints) == (b->largePoints))) {
onFail("a->largePoints (Error: Value not equal)");
};
if (!((a->alphaToOne) == (b->alphaToOne))) {
onFail("a->alphaToOne (Error: Value not equal)");
};
if (!((a->multiViewport) == (b->multiViewport))) {
onFail("a->multiViewport (Error: Value not equal)");
};
if (!((a->samplerAnisotropy) == (b->samplerAnisotropy))) {
onFail("a->samplerAnisotropy (Error: Value not equal)");
};
if (!((a->textureCompressionETC2) == (b->textureCompressionETC2))) {
onFail("a->textureCompressionETC2 (Error: Value not equal)");
};
if (!((a->textureCompressionASTC_LDR) == (b->textureCompressionASTC_LDR))) {
onFail("a->textureCompressionASTC_LDR (Error: Value not equal)");
};
if (!((a->textureCompressionBC) == (b->textureCompressionBC))) {
onFail("a->textureCompressionBC (Error: Value not equal)");
};
if (!((a->occlusionQueryPrecise) == (b->occlusionQueryPrecise))) {
onFail("a->occlusionQueryPrecise (Error: Value not equal)");
};
if (!((a->pipelineStatisticsQuery) == (b->pipelineStatisticsQuery))) {
onFail("a->pipelineStatisticsQuery (Error: Value not equal)");
};
if (!((a->vertexPipelineStoresAndAtomics) == (b->vertexPipelineStoresAndAtomics))) {
onFail("a->vertexPipelineStoresAndAtomics (Error: Value not equal)");
};
if (!((a->fragmentStoresAndAtomics) == (b->fragmentStoresAndAtomics))) {
onFail("a->fragmentStoresAndAtomics (Error: Value not equal)");
};
if (!((a->shaderTessellationAndGeometryPointSize) ==
(b->shaderTessellationAndGeometryPointSize))) {
onFail("a->shaderTessellationAndGeometryPointSize (Error: Value not equal)");
};
if (!((a->shaderImageGatherExtended) == (b->shaderImageGatherExtended))) {
onFail("a->shaderImageGatherExtended (Error: Value not equal)");
};
if (!((a->shaderStorageImageExtendedFormats) == (b->shaderStorageImageExtendedFormats))) {
onFail("a->shaderStorageImageExtendedFormats (Error: Value not equal)");
};
if (!((a->shaderStorageImageMultisample) == (b->shaderStorageImageMultisample))) {
onFail("a->shaderStorageImageMultisample (Error: Value not equal)");
};
if (!((a->shaderStorageImageReadWithoutFormat) == (b->shaderStorageImageReadWithoutFormat))) {
onFail("a->shaderStorageImageReadWithoutFormat (Error: Value not equal)");
};
if (!((a->shaderStorageImageWriteWithoutFormat) == (b->shaderStorageImageWriteWithoutFormat))) {
onFail("a->shaderStorageImageWriteWithoutFormat (Error: Value not equal)");
};
if (!((a->shaderUniformBufferArrayDynamicIndexing) ==
(b->shaderUniformBufferArrayDynamicIndexing))) {
onFail("a->shaderUniformBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderSampledImageArrayDynamicIndexing) ==
(b->shaderSampledImageArrayDynamicIndexing))) {
onFail("a->shaderSampledImageArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageBufferArrayDynamicIndexing) ==
(b->shaderStorageBufferArrayDynamicIndexing))) {
onFail("a->shaderStorageBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageImageArrayDynamicIndexing) ==
(b->shaderStorageImageArrayDynamicIndexing))) {
onFail("a->shaderStorageImageArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderClipDistance) == (b->shaderClipDistance))) {
onFail("a->shaderClipDistance (Error: Value not equal)");
};
if (!((a->shaderCullDistance) == (b->shaderCullDistance))) {
onFail("a->shaderCullDistance (Error: Value not equal)");
};
if (!((a->shaderFloat64) == (b->shaderFloat64))) {
onFail("a->shaderFloat64 (Error: Value not equal)");
};
if (!((a->shaderInt64) == (b->shaderInt64))) {
onFail("a->shaderInt64 (Error: Value not equal)");
};
if (!((a->shaderInt16) == (b->shaderInt16))) {
onFail("a->shaderInt16 (Error: Value not equal)");
};
if (!((a->shaderResourceResidency) == (b->shaderResourceResidency))) {
onFail("a->shaderResourceResidency (Error: Value not equal)");
};
if (!((a->shaderResourceMinLod) == (b->shaderResourceMinLod))) {
onFail("a->shaderResourceMinLod (Error: Value not equal)");
};
if (!((a->sparseBinding) == (b->sparseBinding))) {
onFail("a->sparseBinding (Error: Value not equal)");
};
if (!((a->sparseResidencyBuffer) == (b->sparseResidencyBuffer))) {
onFail("a->sparseResidencyBuffer (Error: Value not equal)");
};
if (!((a->sparseResidencyImage2D) == (b->sparseResidencyImage2D))) {
onFail("a->sparseResidencyImage2D (Error: Value not equal)");
};
if (!((a->sparseResidencyImage3D) == (b->sparseResidencyImage3D))) {
onFail("a->sparseResidencyImage3D (Error: Value not equal)");
};
if (!((a->sparseResidency2Samples) == (b->sparseResidency2Samples))) {
onFail("a->sparseResidency2Samples (Error: Value not equal)");
};
if (!((a->sparseResidency4Samples) == (b->sparseResidency4Samples))) {
onFail("a->sparseResidency4Samples (Error: Value not equal)");
};
if (!((a->sparseResidency8Samples) == (b->sparseResidency8Samples))) {
onFail("a->sparseResidency8Samples (Error: Value not equal)");
};
if (!((a->sparseResidency16Samples) == (b->sparseResidency16Samples))) {
onFail("a->sparseResidency16Samples (Error: Value not equal)");
};
if (!((a->sparseResidencyAliased) == (b->sparseResidencyAliased))) {
onFail("a->sparseResidencyAliased (Error: Value not equal)");
};
if (!((a->variableMultisampleRate) == (b->variableMultisampleRate))) {
onFail("a->variableMultisampleRate (Error: Value not equal)");
};
if (!((a->inheritedQueries) == (b->inheritedQueries))) {
onFail("a->inheritedQueries (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits* a,
const VkPhysicalDeviceLimits* b, OnFailCompareFunc onFail) {
if (!((a->maxImageDimension1D) == (b->maxImageDimension1D))) {
onFail("a->maxImageDimension1D (Error: Value not equal)");
};
if (!((a->maxImageDimension2D) == (b->maxImageDimension2D))) {
onFail("a->maxImageDimension2D (Error: Value not equal)");
};
if (!((a->maxImageDimension3D) == (b->maxImageDimension3D))) {
onFail("a->maxImageDimension3D (Error: Value not equal)");
};
if (!((a->maxImageDimensionCube) == (b->maxImageDimensionCube))) {
onFail("a->maxImageDimensionCube (Error: Value not equal)");
};
if (!((a->maxImageArrayLayers) == (b->maxImageArrayLayers))) {
onFail("a->maxImageArrayLayers (Error: Value not equal)");
};
if (!((a->maxTexelBufferElements) == (b->maxTexelBufferElements))) {
onFail("a->maxTexelBufferElements (Error: Value not equal)");
};
if (!((a->maxUniformBufferRange) == (b->maxUniformBufferRange))) {
onFail("a->maxUniformBufferRange (Error: Value not equal)");
};
if (!((a->maxStorageBufferRange) == (b->maxStorageBufferRange))) {
onFail("a->maxStorageBufferRange (Error: Value not equal)");
};
if (!((a->maxPushConstantsSize) == (b->maxPushConstantsSize))) {
onFail("a->maxPushConstantsSize (Error: Value not equal)");
};
if (!((a->maxMemoryAllocationCount) == (b->maxMemoryAllocationCount))) {
onFail("a->maxMemoryAllocationCount (Error: Value not equal)");
};
if (!((a->maxSamplerAllocationCount) == (b->maxSamplerAllocationCount))) {
onFail("a->maxSamplerAllocationCount (Error: Value not equal)");
};
if (!((a->bufferImageGranularity) == (b->bufferImageGranularity))) {
onFail("a->bufferImageGranularity (Error: Value not equal)");
};
if (!((a->sparseAddressSpaceSize) == (b->sparseAddressSpaceSize))) {
onFail("a->sparseAddressSpaceSize (Error: Value not equal)");
};
if (!((a->maxBoundDescriptorSets) == (b->maxBoundDescriptorSets))) {
onFail("a->maxBoundDescriptorSets (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorSamplers) == (b->maxPerStageDescriptorSamplers))) {
onFail("a->maxPerStageDescriptorSamplers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUniformBuffers) == (b->maxPerStageDescriptorUniformBuffers))) {
onFail("a->maxPerStageDescriptorUniformBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorStorageBuffers) == (b->maxPerStageDescriptorStorageBuffers))) {
onFail("a->maxPerStageDescriptorStorageBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorSampledImages) == (b->maxPerStageDescriptorSampledImages))) {
onFail("a->maxPerStageDescriptorSampledImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorStorageImages) == (b->maxPerStageDescriptorStorageImages))) {
onFail("a->maxPerStageDescriptorStorageImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorInputAttachments) ==
(b->maxPerStageDescriptorInputAttachments))) {
onFail("a->maxPerStageDescriptorInputAttachments (Error: Value not equal)");
};
if (!((a->maxPerStageResources) == (b->maxPerStageResources))) {
onFail("a->maxPerStageResources (Error: Value not equal)");
};
if (!((a->maxDescriptorSetSamplers) == (b->maxDescriptorSetSamplers))) {
onFail("a->maxDescriptorSetSamplers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUniformBuffers) == (b->maxDescriptorSetUniformBuffers))) {
onFail("a->maxDescriptorSetUniformBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUniformBuffersDynamic) ==
(b->maxDescriptorSetUniformBuffersDynamic))) {
onFail("a->maxDescriptorSetUniformBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetStorageBuffers) == (b->maxDescriptorSetStorageBuffers))) {
onFail("a->maxDescriptorSetStorageBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetStorageBuffersDynamic) ==
(b->maxDescriptorSetStorageBuffersDynamic))) {
onFail("a->maxDescriptorSetStorageBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetSampledImages) == (b->maxDescriptorSetSampledImages))) {
onFail("a->maxDescriptorSetSampledImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetStorageImages) == (b->maxDescriptorSetStorageImages))) {
onFail("a->maxDescriptorSetStorageImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetInputAttachments) == (b->maxDescriptorSetInputAttachments))) {
onFail("a->maxDescriptorSetInputAttachments (Error: Value not equal)");
};
if (!((a->maxVertexInputAttributes) == (b->maxVertexInputAttributes))) {
onFail("a->maxVertexInputAttributes (Error: Value not equal)");
};
if (!((a->maxVertexInputBindings) == (b->maxVertexInputBindings))) {
onFail("a->maxVertexInputBindings (Error: Value not equal)");
};
if (!((a->maxVertexInputAttributeOffset) == (b->maxVertexInputAttributeOffset))) {
onFail("a->maxVertexInputAttributeOffset (Error: Value not equal)");
};
if (!((a->maxVertexInputBindingStride) == (b->maxVertexInputBindingStride))) {
onFail("a->maxVertexInputBindingStride (Error: Value not equal)");
};
if (!((a->maxVertexOutputComponents) == (b->maxVertexOutputComponents))) {
onFail("a->maxVertexOutputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationGenerationLevel) == (b->maxTessellationGenerationLevel))) {
onFail("a->maxTessellationGenerationLevel (Error: Value not equal)");
};
if (!((a->maxTessellationPatchSize) == (b->maxTessellationPatchSize))) {
onFail("a->maxTessellationPatchSize (Error: Value not equal)");
};
if (!((a->maxTessellationControlPerVertexInputComponents) ==
(b->maxTessellationControlPerVertexInputComponents))) {
onFail("a->maxTessellationControlPerVertexInputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationControlPerVertexOutputComponents) ==
(b->maxTessellationControlPerVertexOutputComponents))) {
onFail("a->maxTessellationControlPerVertexOutputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationControlPerPatchOutputComponents) ==
(b->maxTessellationControlPerPatchOutputComponents))) {
onFail("a->maxTessellationControlPerPatchOutputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationControlTotalOutputComponents) ==
(b->maxTessellationControlTotalOutputComponents))) {
onFail("a->maxTessellationControlTotalOutputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationEvaluationInputComponents) ==
(b->maxTessellationEvaluationInputComponents))) {
onFail("a->maxTessellationEvaluationInputComponents (Error: Value not equal)");
};
if (!((a->maxTessellationEvaluationOutputComponents) ==
(b->maxTessellationEvaluationOutputComponents))) {
onFail("a->maxTessellationEvaluationOutputComponents (Error: Value not equal)");
};
if (!((a->maxGeometryShaderInvocations) == (b->maxGeometryShaderInvocations))) {
onFail("a->maxGeometryShaderInvocations (Error: Value not equal)");
};
if (!((a->maxGeometryInputComponents) == (b->maxGeometryInputComponents))) {
onFail("a->maxGeometryInputComponents (Error: Value not equal)");
};
if (!((a->maxGeometryOutputComponents) == (b->maxGeometryOutputComponents))) {
onFail("a->maxGeometryOutputComponents (Error: Value not equal)");
};
if (!((a->maxGeometryOutputVertices) == (b->maxGeometryOutputVertices))) {
onFail("a->maxGeometryOutputVertices (Error: Value not equal)");
};
if (!((a->maxGeometryTotalOutputComponents) == (b->maxGeometryTotalOutputComponents))) {
onFail("a->maxGeometryTotalOutputComponents (Error: Value not equal)");
};
if (!((a->maxFragmentInputComponents) == (b->maxFragmentInputComponents))) {
onFail("a->maxFragmentInputComponents (Error: Value not equal)");
};
if (!((a->maxFragmentOutputAttachments) == (b->maxFragmentOutputAttachments))) {
onFail("a->maxFragmentOutputAttachments (Error: Value not equal)");
};
if (!((a->maxFragmentDualSrcAttachments) == (b->maxFragmentDualSrcAttachments))) {
onFail("a->maxFragmentDualSrcAttachments (Error: Value not equal)");
};
if (!((a->maxFragmentCombinedOutputResources) == (b->maxFragmentCombinedOutputResources))) {
onFail("a->maxFragmentCombinedOutputResources (Error: Value not equal)");
};
if (!((a->maxComputeSharedMemorySize) == (b->maxComputeSharedMemorySize))) {
onFail("a->maxComputeSharedMemorySize (Error: Value not equal)");
};
if (!((memcmp(a->maxComputeWorkGroupCount, b->maxComputeWorkGroupCount, 3 * sizeof(uint32_t)) ==
0))) {
onFail("a->maxComputeWorkGroupCount (Error: Unequal static array)");
};
if (!((a->maxComputeWorkGroupInvocations) == (b->maxComputeWorkGroupInvocations))) {
onFail("a->maxComputeWorkGroupInvocations (Error: Value not equal)");
};
if (!((memcmp(a->maxComputeWorkGroupSize, b->maxComputeWorkGroupSize, 3 * sizeof(uint32_t)) ==
0))) {
onFail("a->maxComputeWorkGroupSize (Error: Unequal static array)");
};
if (!((a->subPixelPrecisionBits) == (b->subPixelPrecisionBits))) {
onFail("a->subPixelPrecisionBits (Error: Value not equal)");
};
if (!((a->subTexelPrecisionBits) == (b->subTexelPrecisionBits))) {
onFail("a->subTexelPrecisionBits (Error: Value not equal)");
};
if (!((a->mipmapPrecisionBits) == (b->mipmapPrecisionBits))) {
onFail("a->mipmapPrecisionBits (Error: Value not equal)");
};
if (!((a->maxDrawIndexedIndexValue) == (b->maxDrawIndexedIndexValue))) {
onFail("a->maxDrawIndexedIndexValue (Error: Value not equal)");
};
if (!((a->maxDrawIndirectCount) == (b->maxDrawIndirectCount))) {
onFail("a->maxDrawIndirectCount (Error: Value not equal)");
};
if (!((a->maxSamplerLodBias) == (b->maxSamplerLodBias))) {
onFail("a->maxSamplerLodBias (Error: Value not equal)");
};
if (!((a->maxSamplerAnisotropy) == (b->maxSamplerAnisotropy))) {
onFail("a->maxSamplerAnisotropy (Error: Value not equal)");
};
if (!((a->maxViewports) == (b->maxViewports))) {
onFail("a->maxViewports (Error: Value not equal)");
};
if (!((memcmp(a->maxViewportDimensions, b->maxViewportDimensions, 2 * sizeof(uint32_t)) ==
0))) {
onFail("a->maxViewportDimensions (Error: Unequal static array)");
};
if (!((memcmp(a->viewportBoundsRange, b->viewportBoundsRange, 2 * sizeof(float)) == 0))) {
onFail("a->viewportBoundsRange (Error: Unequal static array)");
};
if (!((a->viewportSubPixelBits) == (b->viewportSubPixelBits))) {
onFail("a->viewportSubPixelBits (Error: Value not equal)");
};
if (!((a->minMemoryMapAlignment) == (b->minMemoryMapAlignment))) {
onFail("a->minMemoryMapAlignment (Error: Value not equal)");
};
if (!((a->minTexelBufferOffsetAlignment) == (b->minTexelBufferOffsetAlignment))) {
onFail("a->minTexelBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minUniformBufferOffsetAlignment) == (b->minUniformBufferOffsetAlignment))) {
onFail("a->minUniformBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minStorageBufferOffsetAlignment) == (b->minStorageBufferOffsetAlignment))) {
onFail("a->minStorageBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minTexelOffset) == (b->minTexelOffset))) {
onFail("a->minTexelOffset (Error: Value not equal)");
};
if (!((a->maxTexelOffset) == (b->maxTexelOffset))) {
onFail("a->maxTexelOffset (Error: Value not equal)");
};
if (!((a->minTexelGatherOffset) == (b->minTexelGatherOffset))) {
onFail("a->minTexelGatherOffset (Error: Value not equal)");
};
if (!((a->maxTexelGatherOffset) == (b->maxTexelGatherOffset))) {
onFail("a->maxTexelGatherOffset (Error: Value not equal)");
};
if (!((a->minInterpolationOffset) == (b->minInterpolationOffset))) {
onFail("a->minInterpolationOffset (Error: Value not equal)");
};
if (!((a->maxInterpolationOffset) == (b->maxInterpolationOffset))) {
onFail("a->maxInterpolationOffset (Error: Value not equal)");
};
if (!((a->subPixelInterpolationOffsetBits) == (b->subPixelInterpolationOffsetBits))) {
onFail("a->subPixelInterpolationOffsetBits (Error: Value not equal)");
};
if (!((a->maxFramebufferWidth) == (b->maxFramebufferWidth))) {
onFail("a->maxFramebufferWidth (Error: Value not equal)");
};
if (!((a->maxFramebufferHeight) == (b->maxFramebufferHeight))) {
onFail("a->maxFramebufferHeight (Error: Value not equal)");
};
if (!((a->maxFramebufferLayers) == (b->maxFramebufferLayers))) {
onFail("a->maxFramebufferLayers (Error: Value not equal)");
};
if (!((a->framebufferColorSampleCounts) == (b->framebufferColorSampleCounts))) {
onFail("a->framebufferColorSampleCounts (Error: Value not equal)");
};
if (!((a->framebufferDepthSampleCounts) == (b->framebufferDepthSampleCounts))) {
onFail("a->framebufferDepthSampleCounts (Error: Value not equal)");
};
if (!((a->framebufferStencilSampleCounts) == (b->framebufferStencilSampleCounts))) {
onFail("a->framebufferStencilSampleCounts (Error: Value not equal)");
};
if (!((a->framebufferNoAttachmentsSampleCounts) == (b->framebufferNoAttachmentsSampleCounts))) {
onFail("a->framebufferNoAttachmentsSampleCounts (Error: Value not equal)");
};
if (!((a->maxColorAttachments) == (b->maxColorAttachments))) {
onFail("a->maxColorAttachments (Error: Value not equal)");
};
if (!((a->sampledImageColorSampleCounts) == (b->sampledImageColorSampleCounts))) {
onFail("a->sampledImageColorSampleCounts (Error: Value not equal)");
};
if (!((a->sampledImageIntegerSampleCounts) == (b->sampledImageIntegerSampleCounts))) {
onFail("a->sampledImageIntegerSampleCounts (Error: Value not equal)");
};
if (!((a->sampledImageDepthSampleCounts) == (b->sampledImageDepthSampleCounts))) {
onFail("a->sampledImageDepthSampleCounts (Error: Value not equal)");
};
if (!((a->sampledImageStencilSampleCounts) == (b->sampledImageStencilSampleCounts))) {
onFail("a->sampledImageStencilSampleCounts (Error: Value not equal)");
};
if (!((a->storageImageSampleCounts) == (b->storageImageSampleCounts))) {
onFail("a->storageImageSampleCounts (Error: Value not equal)");
};
if (!((a->maxSampleMaskWords) == (b->maxSampleMaskWords))) {
onFail("a->maxSampleMaskWords (Error: Value not equal)");
};
if (!((a->timestampComputeAndGraphics) == (b->timestampComputeAndGraphics))) {
onFail("a->timestampComputeAndGraphics (Error: Value not equal)");
};
if (!((a->timestampPeriod) == (b->timestampPeriod))) {
onFail("a->timestampPeriod (Error: Value not equal)");
};
if (!((a->maxClipDistances) == (b->maxClipDistances))) {
onFail("a->maxClipDistances (Error: Value not equal)");
};
if (!((a->maxCullDistances) == (b->maxCullDistances))) {
onFail("a->maxCullDistances (Error: Value not equal)");
};
if (!((a->maxCombinedClipAndCullDistances) == (b->maxCombinedClipAndCullDistances))) {
onFail("a->maxCombinedClipAndCullDistances (Error: Value not equal)");
};
if (!((a->discreteQueuePriorities) == (b->discreteQueuePriorities))) {
onFail("a->discreteQueuePriorities (Error: Value not equal)");
};
if (!((memcmp(a->pointSizeRange, b->pointSizeRange, 2 * sizeof(float)) == 0))) {
onFail("a->pointSizeRange (Error: Unequal static array)");
};
if (!((memcmp(a->lineWidthRange, b->lineWidthRange, 2 * sizeof(float)) == 0))) {
onFail("a->lineWidthRange (Error: Unequal static array)");
};
if (!((a->pointSizeGranularity) == (b->pointSizeGranularity))) {
onFail("a->pointSizeGranularity (Error: Value not equal)");
};
if (!((a->lineWidthGranularity) == (b->lineWidthGranularity))) {
onFail("a->lineWidthGranularity (Error: Value not equal)");
};
if (!((a->strictLines) == (b->strictLines))) {
onFail("a->strictLines (Error: Value not equal)");
};
if (!((a->standardSampleLocations) == (b->standardSampleLocations))) {
onFail("a->standardSampleLocations (Error: Value not equal)");
};
if (!((a->optimalBufferCopyOffsetAlignment) == (b->optimalBufferCopyOffsetAlignment))) {
onFail("a->optimalBufferCopyOffsetAlignment (Error: Value not equal)");
};
if (!((a->optimalBufferCopyRowPitchAlignment) == (b->optimalBufferCopyRowPitchAlignment))) {
onFail("a->optimalBufferCopyRowPitchAlignment (Error: Value not equal)");
};
if (!((a->nonCoherentAtomSize) == (b->nonCoherentAtomSize))) {
onFail("a->nonCoherentAtomSize (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties* a,
const VkPhysicalDeviceMemoryProperties* b,
OnFailCompareFunc onFail) {
if (!((a->memoryTypeCount) == (b->memoryTypeCount))) {
onFail("a->memoryTypeCount (Error: Value not equal)");
};
if (!((VK_MAX_MEMORY_TYPES) == (VK_MAX_MEMORY_TYPES))) {
onFail("a->memoryTypes (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
checkEqual_VkMemoryType(a->memoryTypes + i, b->memoryTypes + i, onFail);
}
if (!((a->memoryHeapCount) == (b->memoryHeapCount))) {
onFail("a->memoryHeapCount (Error: Value not equal)");
};
if (!((VK_MAX_MEMORY_HEAPS) == (VK_MAX_MEMORY_HEAPS))) {
onFail("a->memoryHeaps (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
checkEqual_VkMemoryHeap(a->memoryHeaps + i, b->memoryHeaps + i, onFail);
}
}
void checkEqual_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties* a,
const VkPhysicalDeviceSparseProperties* b,
OnFailCompareFunc onFail) {
if (!((a->residencyStandard2DBlockShape) == (b->residencyStandard2DBlockShape))) {
onFail("a->residencyStandard2DBlockShape (Error: Value not equal)");
};
if (!((a->residencyStandard2DMultisampleBlockShape) ==
(b->residencyStandard2DMultisampleBlockShape))) {
onFail("a->residencyStandard2DMultisampleBlockShape (Error: Value not equal)");
};
if (!((a->residencyStandard3DBlockShape) == (b->residencyStandard3DBlockShape))) {
onFail("a->residencyStandard3DBlockShape (Error: Value not equal)");
};
if (!((a->residencyAlignedMipSize) == (b->residencyAlignedMipSize))) {
onFail("a->residencyAlignedMipSize (Error: Value not equal)");
};
if (!((a->residencyNonResidentStrict) == (b->residencyNonResidentStrict))) {
onFail("a->residencyNonResidentStrict (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties* a,
const VkPhysicalDeviceProperties* b,
OnFailCompareFunc onFail) {
if (!((a->apiVersion) == (b->apiVersion))) {
onFail("a->apiVersion (Error: Value not equal)");
};
if (!((a->driverVersion) == (b->driverVersion))) {
onFail("a->driverVersion (Error: Value not equal)");
};
if (!((a->vendorID) == (b->vendorID))) {
onFail("a->vendorID (Error: Value not equal)");
};
if (!((a->deviceID) == (b->deviceID))) {
onFail("a->deviceID (Error: Value not equal)");
};
if (!((a->deviceType) == (b->deviceType))) {
onFail("a->deviceType (Error: Value not equal)");
};
if (!((memcmp(a->deviceName, b->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char)) ==
0))) {
onFail("a->deviceName (Error: Unequal static array)");
};
if (!((memcmp(a->pipelineCacheUUID, b->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)) ==
0))) {
onFail("a->pipelineCacheUUID (Error: Unequal static array)");
};
checkEqual_VkPhysicalDeviceLimits(&a->limits, &b->limits, onFail);
checkEqual_VkPhysicalDeviceSparseProperties(&a->sparseProperties, &b->sparseProperties, onFail);
}
void checkEqual_VkQueueFamilyProperties(const VkQueueFamilyProperties* a,
const VkQueueFamilyProperties* b,
OnFailCompareFunc onFail) {
if (!((a->queueFlags) == (b->queueFlags))) {
onFail("a->queueFlags (Error: Value not equal)");
};
if (!((a->queueCount) == (b->queueCount))) {
onFail("a->queueCount (Error: Value not equal)");
};
if (!((a->timestampValidBits) == (b->timestampValidBits))) {
onFail("a->timestampValidBits (Error: Value not equal)");
};
checkEqual_VkExtent3D(&a->minImageTransferGranularity, &b->minImageTransferGranularity, onFail);
}
void checkEqual_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo* a,
const VkDeviceQueueCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->queueFamilyIndex) == (b->queueFamilyIndex))) {
onFail("a->queueFamilyIndex (Error: Value not equal)");
};
if (!((a->queueCount) == (b->queueCount))) {
onFail("a->queueCount (Error: Value not equal)");
};
if (!((a->queueCount) == (b->queueCount))) {
onFail("a->pQueuePriorities (Error: Lengths not equal)");
};
if (!((memcmp(a->pQueuePriorities, b->pQueuePriorities, a->queueCount * sizeof(const float)) ==
0))) {
onFail("a->pQueuePriorities (Error: Unequal dyn array)");
};
}
void checkEqual_VkDeviceCreateInfo(const VkDeviceCreateInfo* a, const VkDeviceCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->queueCreateInfoCount) == (b->queueCreateInfoCount))) {
onFail("a->queueCreateInfoCount (Error: Value not equal)");
};
if ((a->pQueueCreateInfos) && (b->pQueueCreateInfos)) {
if (!((a->queueCreateInfoCount) == (b->queueCreateInfoCount))) {
onFail("a->pQueueCreateInfos (Error: Lengths not equal)");
};
if ((a->queueCreateInfoCount) == (b->queueCreateInfoCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->queueCreateInfoCount; ++i) {
checkEqual_VkDeviceQueueCreateInfo(a->pQueueCreateInfos + i,
b->pQueueCreateInfos + i, onFail);
}
}
}
}
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->enabledLayerCount (Error: Value not equal)");
};
if (!((!(a->ppEnabledLayerNames) && !(b->ppEnabledLayerNames)) ||
((a->ppEnabledLayerNames) && (b->ppEnabledLayerNames)))) {
onFail("a->ppEnabledLayerNames (Error: Mismatch in string array pointer nullness)");
};
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->ppEnabledLayerNames (Error: Lengths not equal in string array)");
};
if (!((a->enabledLayerCount) == (b->enabledLayerCount))) {
onFail("a->ppEnabledLayerNames (Error: Lengths not equal in string array)");
};
if ((a->enabledLayerCount) == (b->enabledLayerCount) && (a->ppEnabledLayerNames) &&
(b->ppEnabledLayerNames)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->enabledLayerCount; ++i) {
if (!((strcmp(*(a->ppEnabledLayerNames + i), *(b->ppEnabledLayerNames + i)) ==
0))) {
onFail("a->ppEnabledLayerNames (Error: Unequal string in string array)");
};
}
}
}
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->enabledExtensionCount (Error: Value not equal)");
};
if (!((!(a->ppEnabledExtensionNames) && !(b->ppEnabledExtensionNames)) ||
((a->ppEnabledExtensionNames) && (b->ppEnabledExtensionNames)))) {
onFail("a->ppEnabledExtensionNames (Error: Mismatch in string array pointer nullness)");
};
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->ppEnabledExtensionNames (Error: Lengths not equal in string array)");
};
if (!((a->enabledExtensionCount) == (b->enabledExtensionCount))) {
onFail("a->ppEnabledExtensionNames (Error: Lengths not equal in string array)");
};
if ((a->enabledExtensionCount) == (b->enabledExtensionCount) && (a->ppEnabledExtensionNames) &&
(b->ppEnabledExtensionNames)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->enabledExtensionCount; ++i) {
if (!((strcmp(*(a->ppEnabledExtensionNames + i),
*(b->ppEnabledExtensionNames + i)) == 0))) {
onFail("a->ppEnabledExtensionNames (Error: Unequal string in string array)");
};
}
}
}
if (!((!(a->pEnabledFeatures) && !(b->pEnabledFeatures)) ||
((a->pEnabledFeatures) && (b->pEnabledFeatures)))) {
onFail("a->pEnabledFeatures (Error: Mismatch in optional field)");
};
if (a->pEnabledFeatures && b->pEnabledFeatures) {
if ((a->pEnabledFeatures) && (b->pEnabledFeatures)) {
checkEqual_VkPhysicalDeviceFeatures(a->pEnabledFeatures, b->pEnabledFeatures, onFail);
}
}
}
void checkEqual_VkExtensionProperties(const VkExtensionProperties* a,
const VkExtensionProperties* b, OnFailCompareFunc onFail) {
if (!((memcmp(a->extensionName, b->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)) ==
0))) {
onFail("a->extensionName (Error: Unequal static array)");
};
if (!((a->specVersion) == (b->specVersion))) {
onFail("a->specVersion (Error: Value not equal)");
};
}
void checkEqual_VkLayerProperties(const VkLayerProperties* a, const VkLayerProperties* b,
OnFailCompareFunc onFail) {
if (!((memcmp(a->layerName, b->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->layerName (Error: Unequal static array)");
};
if (!((a->specVersion) == (b->specVersion))) {
onFail("a->specVersion (Error: Value not equal)");
};
if (!((a->implementationVersion) == (b->implementationVersion))) {
onFail("a->implementationVersion (Error: Value not equal)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
}
void checkEqual_VkSubmitInfo(const VkSubmitInfo* a, const VkSubmitInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->waitSemaphoreCount (Error: Value not equal)");
};
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->pWaitSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphores, b->pWaitSemaphores,
a->waitSemaphoreCount * sizeof(const VkSemaphore)) == 0))) {
onFail("a->pWaitSemaphores (Error: Unequal dyn array)");
};
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->pWaitDstStageMask (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitDstStageMask, b->pWaitDstStageMask,
a->waitSemaphoreCount * sizeof(const VkPipelineStageFlags)) == 0))) {
onFail("a->pWaitDstStageMask (Error: Unequal dyn array)");
};
if (!((a->commandBufferCount) == (b->commandBufferCount))) {
onFail("a->commandBufferCount (Error: Value not equal)");
};
if (!((a->commandBufferCount) == (b->commandBufferCount))) {
onFail("a->pCommandBuffers (Error: Lengths not equal)");
};
if (!((memcmp(a->pCommandBuffers, b->pCommandBuffers,
a->commandBufferCount * sizeof(const VkCommandBuffer)) == 0))) {
onFail("a->pCommandBuffers (Error: Unequal dyn array)");
};
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->signalSemaphoreCount (Error: Value not equal)");
};
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->pSignalSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pSignalSemaphores, b->pSignalSemaphores,
a->signalSemaphoreCount * sizeof(const VkSemaphore)) == 0))) {
onFail("a->pSignalSemaphores (Error: Unequal dyn array)");
};
}
void checkEqual_VkMappedMemoryRange(const VkMappedMemoryRange* a, const VkMappedMemoryRange* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkMemoryAllocateInfo(const VkMemoryAllocateInfo* a, const VkMemoryAllocateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->allocationSize) == (b->allocationSize))) {
onFail("a->allocationSize (Error: Value not equal)");
};
if (!((a->memoryTypeIndex) == (b->memoryTypeIndex))) {
onFail("a->memoryTypeIndex (Error: Value not equal)");
};
}
void checkEqual_VkMemoryRequirements(const VkMemoryRequirements* a, const VkMemoryRequirements* b,
OnFailCompareFunc onFail) {
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->alignment) == (b->alignment))) {
onFail("a->alignment (Error: Value not equal)");
};
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkSparseMemoryBind(const VkSparseMemoryBind* a, const VkSparseMemoryBind* b,
OnFailCompareFunc onFail) {
if (!((a->resourceOffset) == (b->resourceOffset))) {
onFail("a->resourceOffset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo* a,
const VkSparseBufferMemoryBindInfo* b,
OnFailCompareFunc onFail) {
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->bindCount (Error: Value not equal)");
};
if ((a->pBinds) && (b->pBinds)) {
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->pBinds (Error: Lengths not equal)");
};
if ((a->bindCount) == (b->bindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bindCount; ++i) {
checkEqual_VkSparseMemoryBind(a->pBinds + i, b->pBinds + i, onFail);
}
}
}
}
}
void checkEqual_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo* a,
const VkSparseImageOpaqueMemoryBindInfo* b,
OnFailCompareFunc onFail) {
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->bindCount (Error: Value not equal)");
};
if ((a->pBinds) && (b->pBinds)) {
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->pBinds (Error: Lengths not equal)");
};
if ((a->bindCount) == (b->bindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bindCount; ++i) {
checkEqual_VkSparseMemoryBind(a->pBinds + i, b->pBinds + i, onFail);
}
}
}
}
}
void checkEqual_VkImageSubresource(const VkImageSubresource* a, const VkImageSubresource* b,
OnFailCompareFunc onFail) {
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
if (!((a->mipLevel) == (b->mipLevel))) {
onFail("a->mipLevel (Error: Value not equal)");
};
if (!((a->arrayLayer) == (b->arrayLayer))) {
onFail("a->arrayLayer (Error: Value not equal)");
};
}
void checkEqual_VkSparseImageMemoryBind(const VkSparseImageMemoryBind* a,
const VkSparseImageMemoryBind* b,
OnFailCompareFunc onFail) {
checkEqual_VkImageSubresource(&a->subresource, &b->subresource, onFail);
checkEqual_VkOffset3D(&a->offset, &b->offset, onFail);
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* a,
const VkSparseImageMemoryBindInfo* b,
OnFailCompareFunc onFail) {
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->bindCount (Error: Value not equal)");
};
if ((a->pBinds) && (b->pBinds)) {
if (!((a->bindCount) == (b->bindCount))) {
onFail("a->pBinds (Error: Lengths not equal)");
};
if ((a->bindCount) == (b->bindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bindCount; ++i) {
checkEqual_VkSparseImageMemoryBind(a->pBinds + i, b->pBinds + i, onFail);
}
}
}
}
}
void checkEqual_VkBindSparseInfo(const VkBindSparseInfo* a, const VkBindSparseInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->waitSemaphoreCount (Error: Value not equal)");
};
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->pWaitSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphores, b->pWaitSemaphores,
a->waitSemaphoreCount * sizeof(const VkSemaphore)) == 0))) {
onFail("a->pWaitSemaphores (Error: Unequal dyn array)");
};
if (!((a->bufferBindCount) == (b->bufferBindCount))) {
onFail("a->bufferBindCount (Error: Value not equal)");
};
if ((a->pBufferBinds) && (b->pBufferBinds)) {
if (!((a->bufferBindCount) == (b->bufferBindCount))) {
onFail("a->pBufferBinds (Error: Lengths not equal)");
};
if ((a->bufferBindCount) == (b->bufferBindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bufferBindCount; ++i) {
checkEqual_VkSparseBufferMemoryBindInfo(a->pBufferBinds + i,
b->pBufferBinds + i, onFail);
}
}
}
}
if (!((a->imageOpaqueBindCount) == (b->imageOpaqueBindCount))) {
onFail("a->imageOpaqueBindCount (Error: Value not equal)");
};
if ((a->pImageOpaqueBinds) && (b->pImageOpaqueBinds)) {
if (!((a->imageOpaqueBindCount) == (b->imageOpaqueBindCount))) {
onFail("a->pImageOpaqueBinds (Error: Lengths not equal)");
};
if ((a->imageOpaqueBindCount) == (b->imageOpaqueBindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->imageOpaqueBindCount; ++i) {
checkEqual_VkSparseImageOpaqueMemoryBindInfo(a->pImageOpaqueBinds + i,
b->pImageOpaqueBinds + i, onFail);
}
}
}
}
if (!((a->imageBindCount) == (b->imageBindCount))) {
onFail("a->imageBindCount (Error: Value not equal)");
};
if ((a->pImageBinds) && (b->pImageBinds)) {
if (!((a->imageBindCount) == (b->imageBindCount))) {
onFail("a->pImageBinds (Error: Lengths not equal)");
};
if ((a->imageBindCount) == (b->imageBindCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->imageBindCount; ++i) {
checkEqual_VkSparseImageMemoryBindInfo(a->pImageBinds + i, b->pImageBinds + i,
onFail);
}
}
}
}
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->signalSemaphoreCount (Error: Value not equal)");
};
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->pSignalSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pSignalSemaphores, b->pSignalSemaphores,
a->signalSemaphoreCount * sizeof(const VkSemaphore)) == 0))) {
onFail("a->pSignalSemaphores (Error: Unequal dyn array)");
};
}
void checkEqual_VkSparseImageFormatProperties(const VkSparseImageFormatProperties* a,
const VkSparseImageFormatProperties* b,
OnFailCompareFunc onFail) {
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
checkEqual_VkExtent3D(&a->imageGranularity, &b->imageGranularity, onFail);
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkSparseImageMemoryRequirements(const VkSparseImageMemoryRequirements* a,
const VkSparseImageMemoryRequirements* b,
OnFailCompareFunc onFail) {
checkEqual_VkSparseImageFormatProperties(&a->formatProperties, &b->formatProperties, onFail);
if (!((a->imageMipTailFirstLod) == (b->imageMipTailFirstLod))) {
onFail("a->imageMipTailFirstLod (Error: Value not equal)");
};
if (!((a->imageMipTailSize) == (b->imageMipTailSize))) {
onFail("a->imageMipTailSize (Error: Value not equal)");
};
if (!((a->imageMipTailOffset) == (b->imageMipTailOffset))) {
onFail("a->imageMipTailOffset (Error: Value not equal)");
};
if (!((a->imageMipTailStride) == (b->imageMipTailStride))) {
onFail("a->imageMipTailStride (Error: Value not equal)");
};
}
void checkEqual_VkFenceCreateInfo(const VkFenceCreateInfo* a, const VkFenceCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo* a,
const VkSemaphoreCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkEventCreateInfo(const VkEventCreateInfo* a, const VkEventCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo* a,
const VkQueryPoolCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->queryType) == (b->queryType))) {
onFail("a->queryType (Error: Value not equal)");
};
if (!((a->queryCount) == (b->queryCount))) {
onFail("a->queryCount (Error: Value not equal)");
};
if (!((a->pipelineStatistics) == (b->pipelineStatistics))) {
onFail("a->pipelineStatistics (Error: Value not equal)");
};
}
void checkEqual_VkBufferCreateInfo(const VkBufferCreateInfo* a, const VkBufferCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->sharingMode) == (b->sharingMode))) {
onFail("a->sharingMode (Error: Value not equal)");
};
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->queueFamilyIndexCount (Error: Value not equal)");
};
if (!((!(a->pQueueFamilyIndices) && !(b->pQueueFamilyIndices)) ||
((a->pQueueFamilyIndices) && (b->pQueueFamilyIndices)))) {
onFail("a->pQueueFamilyIndices (Error: Mismatch in optional field)");
};
if (a->pQueueFamilyIndices && b->pQueueFamilyIndices) {
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->pQueueFamilyIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pQueueFamilyIndices, b->pQueueFamilyIndices,
a->queueFamilyIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pQueueFamilyIndices (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* a,
const VkBufferViewCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->range) == (b->range))) {
onFail("a->range (Error: Value not equal)");
};
}
void checkEqual_VkImageCreateInfo(const VkImageCreateInfo* a, const VkImageCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->imageType) == (b->imageType))) {
onFail("a->imageType (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
if (!((a->mipLevels) == (b->mipLevels))) {
onFail("a->mipLevels (Error: Value not equal)");
};
if (!((a->arrayLayers) == (b->arrayLayers))) {
onFail("a->arrayLayers (Error: Value not equal)");
};
if (!((a->samples) == (b->samples))) {
onFail("a->samples (Error: Value not equal)");
};
if (!((a->tiling) == (b->tiling))) {
onFail("a->tiling (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->sharingMode) == (b->sharingMode))) {
onFail("a->sharingMode (Error: Value not equal)");
};
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->queueFamilyIndexCount (Error: Value not equal)");
};
if (!((!(a->pQueueFamilyIndices) && !(b->pQueueFamilyIndices)) ||
((a->pQueueFamilyIndices) && (b->pQueueFamilyIndices)))) {
onFail("a->pQueueFamilyIndices (Error: Mismatch in optional field)");
};
if (a->pQueueFamilyIndices && b->pQueueFamilyIndices) {
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->pQueueFamilyIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pQueueFamilyIndices, b->pQueueFamilyIndices,
a->queueFamilyIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pQueueFamilyIndices (Error: Unequal dyn array)");
};
}
if (!((a->initialLayout) == (b->initialLayout))) {
onFail("a->initialLayout (Error: Value not equal)");
};
}
void checkEqual_VkSubresourceLayout(const VkSubresourceLayout* a, const VkSubresourceLayout* b,
OnFailCompareFunc onFail) {
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->rowPitch) == (b->rowPitch))) {
onFail("a->rowPitch (Error: Value not equal)");
};
if (!((a->arrayPitch) == (b->arrayPitch))) {
onFail("a->arrayPitch (Error: Value not equal)");
};
if (!((a->depthPitch) == (b->depthPitch))) {
onFail("a->depthPitch (Error: Value not equal)");
};
}
void checkEqual_VkComponentMapping(const VkComponentMapping* a, const VkComponentMapping* b,
OnFailCompareFunc onFail) {
if (!((a->r) == (b->r))) {
onFail("a->r (Error: Value not equal)");
};
if (!((a->g) == (b->g))) {
onFail("a->g (Error: Value not equal)");
};
if (!((a->b) == (b->b))) {
onFail("a->b (Error: Value not equal)");
};
if (!((a->a) == (b->a))) {
onFail("a->a (Error: Value not equal)");
};
}
void checkEqual_VkImageViewCreateInfo(const VkImageViewCreateInfo* a,
const VkImageViewCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->viewType) == (b->viewType))) {
onFail("a->viewType (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
checkEqual_VkComponentMapping(&a->components, &b->components, onFail);
checkEqual_VkImageSubresourceRange(&a->subresourceRange, &b->subresourceRange, onFail);
}
void checkEqual_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo* a,
const VkShaderModuleCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->codeSize) == (b->codeSize))) {
onFail("a->codeSize (Error: Value not equal)");
};
if (!(((a->codeSize / 4)) == ((b->codeSize / 4)))) {
onFail("a->pCode (Error: Lengths not equal)");
};
if (!((memcmp(a->pCode, b->pCode, (a->codeSize / 4) * sizeof(const uint32_t)) == 0))) {
onFail("a->pCode (Error: Unequal dyn array)");
};
}
void checkEqual_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo* a,
const VkPipelineCacheCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->initialDataSize) == (b->initialDataSize))) {
onFail("a->initialDataSize (Error: Value not equal)");
};
}
void checkEqual_VkSpecializationMapEntry(const VkSpecializationMapEntry* a,
const VkSpecializationMapEntry* b,
OnFailCompareFunc onFail) {
if (!((a->constantID) == (b->constantID))) {
onFail("a->constantID (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkSpecializationInfo(const VkSpecializationInfo* a, const VkSpecializationInfo* b,
OnFailCompareFunc onFail) {
if (!((a->mapEntryCount) == (b->mapEntryCount))) {
onFail("a->mapEntryCount (Error: Value not equal)");
};
if ((a->pMapEntries) && (b->pMapEntries)) {
if (!((a->mapEntryCount) == (b->mapEntryCount))) {
onFail("a->pMapEntries (Error: Lengths not equal)");
};
if ((a->mapEntryCount) == (b->mapEntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->mapEntryCount; ++i) {
checkEqual_VkSpecializationMapEntry(a->pMapEntries + i, b->pMapEntries + i,
onFail);
}
}
}
}
if (!((a->dataSize) == (b->dataSize))) {
onFail("a->dataSize (Error: Value not equal)");
};
}
void checkEqual_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo* a,
const VkPipelineShaderStageCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->stage) == (b->stage))) {
onFail("a->stage (Error: Value not equal)");
};
if (!((a->module) == (b->module))) {
onFail("a->module (Error: Value not equal)");
};
if (!((!(a->pName) && !(b->pName)) || ((a->pName) && (b->pName)))) {
onFail("a->pName (Error: Mismatch in string pointer nullness)");
};
if ((a->pName) && (b->pName)) {
if (!((strcmp(a->pName, b->pName) == 0))) {
onFail("a->pName (Error: Unequal strings)");
};
}
if (!((!(a->pSpecializationInfo) && !(b->pSpecializationInfo)) ||
((a->pSpecializationInfo) && (b->pSpecializationInfo)))) {
onFail("a->pSpecializationInfo (Error: Mismatch in optional field)");
};
if (a->pSpecializationInfo && b->pSpecializationInfo) {
if ((a->pSpecializationInfo) && (b->pSpecializationInfo)) {
checkEqual_VkSpecializationInfo(a->pSpecializationInfo, b->pSpecializationInfo, onFail);
}
}
}
void checkEqual_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo* a,
const VkComputePipelineCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkPipelineShaderStageCreateInfo(&a->stage, &b->stage, onFail);
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
if (!((a->basePipelineHandle) == (b->basePipelineHandle))) {
onFail("a->basePipelineHandle (Error: Value not equal)");
};
if (!((a->basePipelineIndex) == (b->basePipelineIndex))) {
onFail("a->basePipelineIndex (Error: Value not equal)");
};
}
void checkEqual_VkVertexInputBindingDescription(const VkVertexInputBindingDescription* a,
const VkVertexInputBindingDescription* b,
OnFailCompareFunc onFail) {
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
if (!((a->inputRate) == (b->inputRate))) {
onFail("a->inputRate (Error: Value not equal)");
};
}
void checkEqual_VkVertexInputAttributeDescription(const VkVertexInputAttributeDescription* a,
const VkVertexInputAttributeDescription* b,
OnFailCompareFunc onFail) {
if (!((a->location) == (b->location))) {
onFail("a->location (Error: Value not equal)");
};
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
}
void checkEqual_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* a,
const VkPipelineVertexInputStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->vertexBindingDescriptionCount) == (b->vertexBindingDescriptionCount))) {
onFail("a->vertexBindingDescriptionCount (Error: Value not equal)");
};
if ((a->pVertexBindingDescriptions) && (b->pVertexBindingDescriptions)) {
if (!((a->vertexBindingDescriptionCount) == (b->vertexBindingDescriptionCount))) {
onFail("a->pVertexBindingDescriptions (Error: Lengths not equal)");
};
if ((a->vertexBindingDescriptionCount) == (b->vertexBindingDescriptionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->vertexBindingDescriptionCount; ++i) {
checkEqual_VkVertexInputBindingDescription(a->pVertexBindingDescriptions + i,
b->pVertexBindingDescriptions + i,
onFail);
}
}
}
}
if (!((a->vertexAttributeDescriptionCount) == (b->vertexAttributeDescriptionCount))) {
onFail("a->vertexAttributeDescriptionCount (Error: Value not equal)");
};
if ((a->pVertexAttributeDescriptions) && (b->pVertexAttributeDescriptions)) {
if (!((a->vertexAttributeDescriptionCount) == (b->vertexAttributeDescriptionCount))) {
onFail("a->pVertexAttributeDescriptions (Error: Lengths not equal)");
};
if ((a->vertexAttributeDescriptionCount) == (b->vertexAttributeDescriptionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->vertexAttributeDescriptionCount; ++i) {
checkEqual_VkVertexInputAttributeDescription(
a->pVertexAttributeDescriptions + i, b->pVertexAttributeDescriptions + i,
onFail);
}
}
}
}
}
void checkEqual_VkPipelineInputAssemblyStateCreateInfo(
const VkPipelineInputAssemblyStateCreateInfo* a,
const VkPipelineInputAssemblyStateCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->topology) == (b->topology))) {
onFail("a->topology (Error: Value not equal)");
};
if (!((a->primitiveRestartEnable) == (b->primitiveRestartEnable))) {
onFail("a->primitiveRestartEnable (Error: Value not equal)");
};
}
void checkEqual_VkPipelineTessellationStateCreateInfo(
const VkPipelineTessellationStateCreateInfo* a, const VkPipelineTessellationStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->patchControlPoints) == (b->patchControlPoints))) {
onFail("a->patchControlPoints (Error: Value not equal)");
};
}
void checkEqual_VkViewport(const VkViewport* a, const VkViewport* b, OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
if (!((a->minDepth) == (b->minDepth))) {
onFail("a->minDepth (Error: Value not equal)");
};
if (!((a->maxDepth) == (b->maxDepth))) {
onFail("a->maxDepth (Error: Value not equal)");
};
}
void checkEqual_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* a,
const VkPipelineViewportStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->viewportCount (Error: Value not equal)");
};
if (!((!(a->pViewports) && !(b->pViewports)) || ((a->pViewports) && (b->pViewports)))) {
onFail("a->pViewports (Error: Mismatch in optional field)");
};
if (a->pViewports && b->pViewports) {
if ((a->pViewports) && (b->pViewports)) {
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->pViewports (Error: Lengths not equal)");
};
if ((a->viewportCount) == (b->viewportCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->viewportCount; ++i) {
checkEqual_VkViewport(a->pViewports + i, b->pViewports + i, onFail);
}
}
}
}
}
if (!((a->scissorCount) == (b->scissorCount))) {
onFail("a->scissorCount (Error: Value not equal)");
};
if (!((!(a->pScissors) && !(b->pScissors)) || ((a->pScissors) && (b->pScissors)))) {
onFail("a->pScissors (Error: Mismatch in optional field)");
};
if (a->pScissors && b->pScissors) {
if ((a->pScissors) && (b->pScissors)) {
if (!((a->scissorCount) == (b->scissorCount))) {
onFail("a->pScissors (Error: Lengths not equal)");
};
if ((a->scissorCount) == (b->scissorCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->scissorCount; ++i) {
checkEqual_VkRect2D(a->pScissors + i, b->pScissors + i, onFail);
}
}
}
}
}
}
void checkEqual_VkPipelineRasterizationStateCreateInfo(
const VkPipelineRasterizationStateCreateInfo* a,
const VkPipelineRasterizationStateCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->depthClampEnable) == (b->depthClampEnable))) {
onFail("a->depthClampEnable (Error: Value not equal)");
};
if (!((a->rasterizerDiscardEnable) == (b->rasterizerDiscardEnable))) {
onFail("a->rasterizerDiscardEnable (Error: Value not equal)");
};
if (!((a->polygonMode) == (b->polygonMode))) {
onFail("a->polygonMode (Error: Value not equal)");
};
if (!((a->cullMode) == (b->cullMode))) {
onFail("a->cullMode (Error: Value not equal)");
};
if (!((a->frontFace) == (b->frontFace))) {
onFail("a->frontFace (Error: Value not equal)");
};
if (!((a->depthBiasEnable) == (b->depthBiasEnable))) {
onFail("a->depthBiasEnable (Error: Value not equal)");
};
if (!((a->depthBiasConstantFactor) == (b->depthBiasConstantFactor))) {
onFail("a->depthBiasConstantFactor (Error: Value not equal)");
};
if (!((a->depthBiasClamp) == (b->depthBiasClamp))) {
onFail("a->depthBiasClamp (Error: Value not equal)");
};
if (!((a->depthBiasSlopeFactor) == (b->depthBiasSlopeFactor))) {
onFail("a->depthBiasSlopeFactor (Error: Value not equal)");
};
if (!((a->lineWidth) == (b->lineWidth))) {
onFail("a->lineWidth (Error: Value not equal)");
};
}
void checkEqual_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* a,
const VkPipelineMultisampleStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->rasterizationSamples) == (b->rasterizationSamples))) {
onFail("a->rasterizationSamples (Error: Value not equal)");
};
if (!((a->sampleShadingEnable) == (b->sampleShadingEnable))) {
onFail("a->sampleShadingEnable (Error: Value not equal)");
};
if (!((a->minSampleShading) == (b->minSampleShading))) {
onFail("a->minSampleShading (Error: Value not equal)");
};
if (!((!(a->pSampleMask) && !(b->pSampleMask)) || ((a->pSampleMask) && (b->pSampleMask)))) {
onFail("a->pSampleMask (Error: Mismatch in optional field)");
};
if (a->pSampleMask && b->pSampleMask) {
if (!(((((a->rasterizationSamples) + 31) / 32)) ==
((((b->rasterizationSamples) + 31) / 32)))) {
onFail("a->pSampleMask (Error: Lengths not equal)");
};
if (!((memcmp(a->pSampleMask, b->pSampleMask,
(((a->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask)) ==
0))) {
onFail("a->pSampleMask (Error: Unequal dyn array)");
};
}
if (!((a->alphaToCoverageEnable) == (b->alphaToCoverageEnable))) {
onFail("a->alphaToCoverageEnable (Error: Value not equal)");
};
if (!((a->alphaToOneEnable) == (b->alphaToOneEnable))) {
onFail("a->alphaToOneEnable (Error: Value not equal)");
};
}
void checkEqual_VkStencilOpState(const VkStencilOpState* a, const VkStencilOpState* b,
OnFailCompareFunc onFail) {
if (!((a->failOp) == (b->failOp))) {
onFail("a->failOp (Error: Value not equal)");
};
if (!((a->passOp) == (b->passOp))) {
onFail("a->passOp (Error: Value not equal)");
};
if (!((a->depthFailOp) == (b->depthFailOp))) {
onFail("a->depthFailOp (Error: Value not equal)");
};
if (!((a->compareOp) == (b->compareOp))) {
onFail("a->compareOp (Error: Value not equal)");
};
if (!((a->compareMask) == (b->compareMask))) {
onFail("a->compareMask (Error: Value not equal)");
};
if (!((a->writeMask) == (b->writeMask))) {
onFail("a->writeMask (Error: Value not equal)");
};
if (!((a->reference) == (b->reference))) {
onFail("a->reference (Error: Value not equal)");
};
}
void checkEqual_VkPipelineDepthStencilStateCreateInfo(
const VkPipelineDepthStencilStateCreateInfo* a, const VkPipelineDepthStencilStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->depthTestEnable) == (b->depthTestEnable))) {
onFail("a->depthTestEnable (Error: Value not equal)");
};
if (!((a->depthWriteEnable) == (b->depthWriteEnable))) {
onFail("a->depthWriteEnable (Error: Value not equal)");
};
if (!((a->depthCompareOp) == (b->depthCompareOp))) {
onFail("a->depthCompareOp (Error: Value not equal)");
};
if (!((a->depthBoundsTestEnable) == (b->depthBoundsTestEnable))) {
onFail("a->depthBoundsTestEnable (Error: Value not equal)");
};
if (!((a->stencilTestEnable) == (b->stencilTestEnable))) {
onFail("a->stencilTestEnable (Error: Value not equal)");
};
checkEqual_VkStencilOpState(&a->front, &b->front, onFail);
checkEqual_VkStencilOpState(&a->back, &b->back, onFail);
if (!((a->minDepthBounds) == (b->minDepthBounds))) {
onFail("a->minDepthBounds (Error: Value not equal)");
};
if (!((a->maxDepthBounds) == (b->maxDepthBounds))) {
onFail("a->maxDepthBounds (Error: Value not equal)");
};
}
void checkEqual_VkPipelineColorBlendAttachmentState(const VkPipelineColorBlendAttachmentState* a,
const VkPipelineColorBlendAttachmentState* b,
OnFailCompareFunc onFail) {
if (!((a->blendEnable) == (b->blendEnable))) {
onFail("a->blendEnable (Error: Value not equal)");
};
if (!((a->srcColorBlendFactor) == (b->srcColorBlendFactor))) {
onFail("a->srcColorBlendFactor (Error: Value not equal)");
};
if (!((a->dstColorBlendFactor) == (b->dstColorBlendFactor))) {
onFail("a->dstColorBlendFactor (Error: Value not equal)");
};
if (!((a->colorBlendOp) == (b->colorBlendOp))) {
onFail("a->colorBlendOp (Error: Value not equal)");
};
if (!((a->srcAlphaBlendFactor) == (b->srcAlphaBlendFactor))) {
onFail("a->srcAlphaBlendFactor (Error: Value not equal)");
};
if (!((a->dstAlphaBlendFactor) == (b->dstAlphaBlendFactor))) {
onFail("a->dstAlphaBlendFactor (Error: Value not equal)");
};
if (!((a->alphaBlendOp) == (b->alphaBlendOp))) {
onFail("a->alphaBlendOp (Error: Value not equal)");
};
if (!((a->colorWriteMask) == (b->colorWriteMask))) {
onFail("a->colorWriteMask (Error: Value not equal)");
};
}
void checkEqual_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* a,
const VkPipelineColorBlendStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->logicOpEnable) == (b->logicOpEnable))) {
onFail("a->logicOpEnable (Error: Value not equal)");
};
if (!((a->logicOp) == (b->logicOp))) {
onFail("a->logicOp (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if ((a->pAttachments) && (b->pAttachments)) {
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pAttachments (Error: Lengths not equal)");
};
if ((a->attachmentCount) == (b->attachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->attachmentCount; ++i) {
checkEqual_VkPipelineColorBlendAttachmentState(a->pAttachments + i,
b->pAttachments + i, onFail);
}
}
}
}
if (!((memcmp(a->blendConstants, b->blendConstants, 4 * sizeof(float)) == 0))) {
onFail("a->blendConstants (Error: Unequal static array)");
};
}
void checkEqual_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* a,
const VkPipelineDynamicStateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->dynamicStateCount) == (b->dynamicStateCount))) {
onFail("a->dynamicStateCount (Error: Value not equal)");
};
if (!((a->dynamicStateCount) == (b->dynamicStateCount))) {
onFail("a->pDynamicStates (Error: Lengths not equal)");
};
if (!((memcmp(a->pDynamicStates, b->pDynamicStates,
a->dynamicStateCount * sizeof(const VkDynamicState)) == 0))) {
onFail("a->pDynamicStates (Error: Unequal dyn array)");
};
}
void checkEqual_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* a,
const VkGraphicsPipelineCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->stageCount (Error: Value not equal)");
};
if ((a->pStages) && (b->pStages)) {
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->pStages (Error: Lengths not equal)");
};
if ((a->stageCount) == (b->stageCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->stageCount; ++i) {
checkEqual_VkPipelineShaderStageCreateInfo(a->pStages + i, b->pStages + i,
onFail);
}
}
}
}
if (!((!(a->pVertexInputState) && !(b->pVertexInputState)) ||
((a->pVertexInputState) && (b->pVertexInputState)))) {
onFail("a->pVertexInputState (Error: Mismatch in optional field)");
};
if (a->pVertexInputState && b->pVertexInputState) {
if ((a->pVertexInputState) && (b->pVertexInputState)) {
checkEqual_VkPipelineVertexInputStateCreateInfo(a->pVertexInputState,
b->pVertexInputState, onFail);
}
}
if (!((!(a->pInputAssemblyState) && !(b->pInputAssemblyState)) ||
((a->pInputAssemblyState) && (b->pInputAssemblyState)))) {
onFail("a->pInputAssemblyState (Error: Mismatch in optional field)");
};
if (a->pInputAssemblyState && b->pInputAssemblyState) {
if ((a->pInputAssemblyState) && (b->pInputAssemblyState)) {
checkEqual_VkPipelineInputAssemblyStateCreateInfo(a->pInputAssemblyState,
b->pInputAssemblyState, onFail);
}
}
if (!((!(a->pTessellationState) && !(b->pTessellationState)) ||
((a->pTessellationState) && (b->pTessellationState)))) {
onFail("a->pTessellationState (Error: Mismatch in optional field)");
};
if (a->pTessellationState && b->pTessellationState) {
if ((a->pTessellationState) && (b->pTessellationState)) {
checkEqual_VkPipelineTessellationStateCreateInfo(a->pTessellationState,
b->pTessellationState, onFail);
}
}
if (!((!(a->pViewportState) && !(b->pViewportState)) ||
((a->pViewportState) && (b->pViewportState)))) {
onFail("a->pViewportState (Error: Mismatch in optional field)");
};
if (a->pViewportState && b->pViewportState) {
if ((a->pViewportState) && (b->pViewportState)) {
checkEqual_VkPipelineViewportStateCreateInfo(a->pViewportState, b->pViewportState,
onFail);
}
}
if (!((!(a->pRasterizationState) && !(b->pRasterizationState)) ||
((a->pRasterizationState) && (b->pRasterizationState)))) {
onFail("a->pRasterizationState (Error: Mismatch in optional field)");
};
if (a->pRasterizationState && b->pRasterizationState) {
if ((a->pRasterizationState) && (b->pRasterizationState)) {
checkEqual_VkPipelineRasterizationStateCreateInfo(a->pRasterizationState,
b->pRasterizationState, onFail);
}
}
if (!((!(a->pMultisampleState) && !(b->pMultisampleState)) ||
((a->pMultisampleState) && (b->pMultisampleState)))) {
onFail("a->pMultisampleState (Error: Mismatch in optional field)");
};
if (a->pMultisampleState && b->pMultisampleState) {
if ((a->pMultisampleState) && (b->pMultisampleState)) {
checkEqual_VkPipelineMultisampleStateCreateInfo(a->pMultisampleState,
b->pMultisampleState, onFail);
}
}
if (!((!(a->pDepthStencilState) && !(b->pDepthStencilState)) ||
((a->pDepthStencilState) && (b->pDepthStencilState)))) {
onFail("a->pDepthStencilState (Error: Mismatch in optional field)");
};
if (a->pDepthStencilState && b->pDepthStencilState) {
if ((a->pDepthStencilState) && (b->pDepthStencilState)) {
checkEqual_VkPipelineDepthStencilStateCreateInfo(a->pDepthStencilState,
b->pDepthStencilState, onFail);
}
}
if (!((!(a->pColorBlendState) && !(b->pColorBlendState)) ||
((a->pColorBlendState) && (b->pColorBlendState)))) {
onFail("a->pColorBlendState (Error: Mismatch in optional field)");
};
if (a->pColorBlendState && b->pColorBlendState) {
if ((a->pColorBlendState) && (b->pColorBlendState)) {
checkEqual_VkPipelineColorBlendStateCreateInfo(a->pColorBlendState, b->pColorBlendState,
onFail);
}
}
if (!((!(a->pDynamicState) && !(b->pDynamicState)) ||
((a->pDynamicState) && (b->pDynamicState)))) {
onFail("a->pDynamicState (Error: Mismatch in optional field)");
};
if (a->pDynamicState && b->pDynamicState) {
if ((a->pDynamicState) && (b->pDynamicState)) {
checkEqual_VkPipelineDynamicStateCreateInfo(a->pDynamicState, b->pDynamicState, onFail);
}
}
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
if (!((a->renderPass) == (b->renderPass))) {
onFail("a->renderPass (Error: Value not equal)");
};
if (!((a->subpass) == (b->subpass))) {
onFail("a->subpass (Error: Value not equal)");
};
if (!((a->basePipelineHandle) == (b->basePipelineHandle))) {
onFail("a->basePipelineHandle (Error: Value not equal)");
};
if (!((a->basePipelineIndex) == (b->basePipelineIndex))) {
onFail("a->basePipelineIndex (Error: Value not equal)");
};
}
void checkEqual_VkPushConstantRange(const VkPushConstantRange* a, const VkPushConstantRange* b,
OnFailCompareFunc onFail) {
if (!((a->stageFlags) == (b->stageFlags))) {
onFail("a->stageFlags (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo* a,
const VkPipelineLayoutCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->setLayoutCount) == (b->setLayoutCount))) {
onFail("a->setLayoutCount (Error: Value not equal)");
};
if (!((a->setLayoutCount) == (b->setLayoutCount))) {
onFail("a->pSetLayouts (Error: Lengths not equal)");
};
if (!((memcmp(a->pSetLayouts, b->pSetLayouts,
a->setLayoutCount * sizeof(const VkDescriptorSetLayout)) == 0))) {
onFail("a->pSetLayouts (Error: Unequal dyn array)");
};
if (!((a->pushConstantRangeCount) == (b->pushConstantRangeCount))) {
onFail("a->pushConstantRangeCount (Error: Value not equal)");
};
if ((a->pPushConstantRanges) && (b->pPushConstantRanges)) {
if (!((a->pushConstantRangeCount) == (b->pushConstantRangeCount))) {
onFail("a->pPushConstantRanges (Error: Lengths not equal)");
};
if ((a->pushConstantRangeCount) == (b->pushConstantRangeCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->pushConstantRangeCount; ++i) {
checkEqual_VkPushConstantRange(a->pPushConstantRanges + i,
b->pPushConstantRanges + i, onFail);
}
}
}
}
}
void checkEqual_VkSamplerCreateInfo(const VkSamplerCreateInfo* a, const VkSamplerCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->magFilter) == (b->magFilter))) {
onFail("a->magFilter (Error: Value not equal)");
};
if (!((a->minFilter) == (b->minFilter))) {
onFail("a->minFilter (Error: Value not equal)");
};
if (!((a->mipmapMode) == (b->mipmapMode))) {
onFail("a->mipmapMode (Error: Value not equal)");
};
if (!((a->addressModeU) == (b->addressModeU))) {
onFail("a->addressModeU (Error: Value not equal)");
};
if (!((a->addressModeV) == (b->addressModeV))) {
onFail("a->addressModeV (Error: Value not equal)");
};
if (!((a->addressModeW) == (b->addressModeW))) {
onFail("a->addressModeW (Error: Value not equal)");
};
if (!((a->mipLodBias) == (b->mipLodBias))) {
onFail("a->mipLodBias (Error: Value not equal)");
};
if (!((a->anisotropyEnable) == (b->anisotropyEnable))) {
onFail("a->anisotropyEnable (Error: Value not equal)");
};
if (!((a->maxAnisotropy) == (b->maxAnisotropy))) {
onFail("a->maxAnisotropy (Error: Value not equal)");
};
if (!((a->compareEnable) == (b->compareEnable))) {
onFail("a->compareEnable (Error: Value not equal)");
};
if (!((a->compareOp) == (b->compareOp))) {
onFail("a->compareOp (Error: Value not equal)");
};
if (!((a->minLod) == (b->minLod))) {
onFail("a->minLod (Error: Value not equal)");
};
if (!((a->maxLod) == (b->maxLod))) {
onFail("a->maxLod (Error: Value not equal)");
};
if (!((a->borderColor) == (b->borderColor))) {
onFail("a->borderColor (Error: Value not equal)");
};
if (!((a->unnormalizedCoordinates) == (b->unnormalizedCoordinates))) {
onFail("a->unnormalizedCoordinates (Error: Value not equal)");
};
}
void checkEqual_VkCopyDescriptorSet(const VkCopyDescriptorSet* a, const VkCopyDescriptorSet* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcSet) == (b->srcSet))) {
onFail("a->srcSet (Error: Value not equal)");
};
if (!((a->srcBinding) == (b->srcBinding))) {
onFail("a->srcBinding (Error: Value not equal)");
};
if (!((a->srcArrayElement) == (b->srcArrayElement))) {
onFail("a->srcArrayElement (Error: Value not equal)");
};
if (!((a->dstSet) == (b->dstSet))) {
onFail("a->dstSet (Error: Value not equal)");
};
if (!((a->dstBinding) == (b->dstBinding))) {
onFail("a->dstBinding (Error: Value not equal)");
};
if (!((a->dstArrayElement) == (b->dstArrayElement))) {
onFail("a->dstArrayElement (Error: Value not equal)");
};
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->descriptorCount (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorBufferInfo(const VkDescriptorBufferInfo* a,
const VkDescriptorBufferInfo* b, OnFailCompareFunc onFail) {
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->range) == (b->range))) {
onFail("a->range (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorImageInfo(const VkDescriptorImageInfo* a,
const VkDescriptorImageInfo* b, OnFailCompareFunc onFail) {
if (!((a->sampler) == (b->sampler))) {
onFail("a->sampler (Error: Value not equal)");
};
if (!((a->imageView) == (b->imageView))) {
onFail("a->imageView (Error: Value not equal)");
};
if (!((a->imageLayout) == (b->imageLayout))) {
onFail("a->imageLayout (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorPoolSize(const VkDescriptorPoolSize* a, const VkDescriptorPoolSize* b,
OnFailCompareFunc onFail) {
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->descriptorCount (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo* a,
const VkDescriptorPoolCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->maxSets) == (b->maxSets))) {
onFail("a->maxSets (Error: Value not equal)");
};
if (!((a->poolSizeCount) == (b->poolSizeCount))) {
onFail("a->poolSizeCount (Error: Value not equal)");
};
if ((a->pPoolSizes) && (b->pPoolSizes)) {
if (!((a->poolSizeCount) == (b->poolSizeCount))) {
onFail("a->pPoolSizes (Error: Lengths not equal)");
};
if ((a->poolSizeCount) == (b->poolSizeCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->poolSizeCount; ++i) {
checkEqual_VkDescriptorPoolSize(a->pPoolSizes + i, b->pPoolSizes + i, onFail);
}
}
}
}
}
void checkEqual_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo* a,
const VkDescriptorSetAllocateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->descriptorPool) == (b->descriptorPool))) {
onFail("a->descriptorPool (Error: Value not equal)");
};
if (!((a->descriptorSetCount) == (b->descriptorSetCount))) {
onFail("a->descriptorSetCount (Error: Value not equal)");
};
if (!((a->descriptorSetCount) == (b->descriptorSetCount))) {
onFail("a->pSetLayouts (Error: Lengths not equal)");
};
if (!((memcmp(a->pSetLayouts, b->pSetLayouts,
a->descriptorSetCount * sizeof(const VkDescriptorSetLayout)) == 0))) {
onFail("a->pSetLayouts (Error: Unequal dyn array)");
};
}
void checkEqual_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding* a,
const VkDescriptorSetLayoutBinding* b,
OnFailCompareFunc onFail) {
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->descriptorType) == (b->descriptorType))) {
onFail("a->descriptorType (Error: Value not equal)");
};
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->descriptorCount (Error: Value not equal)");
};
if (!((a->stageFlags) == (b->stageFlags))) {
onFail("a->stageFlags (Error: Value not equal)");
};
if (!((!(a->pImmutableSamplers) && !(b->pImmutableSamplers)) ||
((a->pImmutableSamplers) && (b->pImmutableSamplers)))) {
onFail("a->pImmutableSamplers (Error: Mismatch in optional field)");
};
if (a->pImmutableSamplers && b->pImmutableSamplers) {
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->pImmutableSamplers (Error: Lengths not equal)");
};
if (!((memcmp(a->pImmutableSamplers, b->pImmutableSamplers,
a->descriptorCount * sizeof(const VkSampler)) == 0))) {
onFail("a->pImmutableSamplers (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo* a,
const VkDescriptorSetLayoutCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->bindingCount) == (b->bindingCount))) {
onFail("a->bindingCount (Error: Value not equal)");
};
if ((a->pBindings) && (b->pBindings)) {
if (!((a->bindingCount) == (b->bindingCount))) {
onFail("a->pBindings (Error: Lengths not equal)");
};
if ((a->bindingCount) == (b->bindingCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bindingCount; ++i) {
checkEqual_VkDescriptorSetLayoutBinding(a->pBindings + i, b->pBindings + i,
onFail);
}
}
}
}
}
void checkEqual_VkWriteDescriptorSet(const VkWriteDescriptorSet* a, const VkWriteDescriptorSet* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dstSet) == (b->dstSet))) {
onFail("a->dstSet (Error: Value not equal)");
};
if (!((a->dstBinding) == (b->dstBinding))) {
onFail("a->dstBinding (Error: Value not equal)");
};
if (!((a->dstArrayElement) == (b->dstArrayElement))) {
onFail("a->dstArrayElement (Error: Value not equal)");
};
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->descriptorCount (Error: Value not equal)");
};
if (!((a->descriptorType) == (b->descriptorType))) {
onFail("a->descriptorType (Error: Value not equal)");
};
if (!((!(a->pImageInfo) && !(b->pImageInfo)) || ((a->pImageInfo) && (b->pImageInfo)))) {
onFail("a->pImageInfo (Error: Mismatch in optional field)");
};
if (a->pImageInfo && b->pImageInfo) {
if ((a->pImageInfo) && (b->pImageInfo)) {
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->pImageInfo (Error: Lengths not equal)");
};
if ((a->descriptorCount) == (b->descriptorCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->descriptorCount; ++i) {
checkEqual_VkDescriptorImageInfo(a->pImageInfo + i, b->pImageInfo + i,
onFail);
}
}
}
}
}
if (!((!(a->pBufferInfo) && !(b->pBufferInfo)) || ((a->pBufferInfo) && (b->pBufferInfo)))) {
onFail("a->pBufferInfo (Error: Mismatch in optional field)");
};
if (a->pBufferInfo && b->pBufferInfo) {
if ((a->pBufferInfo) && (b->pBufferInfo)) {
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->pBufferInfo (Error: Lengths not equal)");
};
if ((a->descriptorCount) == (b->descriptorCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->descriptorCount; ++i) {
checkEqual_VkDescriptorBufferInfo(a->pBufferInfo + i, b->pBufferInfo + i,
onFail);
}
}
}
}
}
if (!((!(a->pTexelBufferView) && !(b->pTexelBufferView)) ||
((a->pTexelBufferView) && (b->pTexelBufferView)))) {
onFail("a->pTexelBufferView (Error: Mismatch in optional field)");
};
if (a->pTexelBufferView && b->pTexelBufferView) {
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->pTexelBufferView (Error: Lengths not equal)");
};
if (!((memcmp(a->pTexelBufferView, b->pTexelBufferView,
a->descriptorCount * sizeof(const VkBufferView)) == 0))) {
onFail("a->pTexelBufferView (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkAttachmentDescription(const VkAttachmentDescription* a,
const VkAttachmentDescription* b,
OnFailCompareFunc onFail) {
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->samples) == (b->samples))) {
onFail("a->samples (Error: Value not equal)");
};
if (!((a->loadOp) == (b->loadOp))) {
onFail("a->loadOp (Error: Value not equal)");
};
if (!((a->storeOp) == (b->storeOp))) {
onFail("a->storeOp (Error: Value not equal)");
};
if (!((a->stencilLoadOp) == (b->stencilLoadOp))) {
onFail("a->stencilLoadOp (Error: Value not equal)");
};
if (!((a->stencilStoreOp) == (b->stencilStoreOp))) {
onFail("a->stencilStoreOp (Error: Value not equal)");
};
if (!((a->initialLayout) == (b->initialLayout))) {
onFail("a->initialLayout (Error: Value not equal)");
};
if (!((a->finalLayout) == (b->finalLayout))) {
onFail("a->finalLayout (Error: Value not equal)");
};
}
void checkEqual_VkAttachmentReference(const VkAttachmentReference* a,
const VkAttachmentReference* b, OnFailCompareFunc onFail) {
if (!((a->attachment) == (b->attachment))) {
onFail("a->attachment (Error: Value not equal)");
};
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
}
void checkEqual_VkFramebufferCreateInfo(const VkFramebufferCreateInfo* a,
const VkFramebufferCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->renderPass) == (b->renderPass))) {
onFail("a->renderPass (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pAttachments (Error: Lengths not equal)");
};
if (!((memcmp(a->pAttachments, b->pAttachments,
a->attachmentCount * sizeof(const VkImageView)) == 0))) {
onFail("a->pAttachments (Error: Unequal dyn array)");
};
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
if (!((a->layers) == (b->layers))) {
onFail("a->layers (Error: Value not equal)");
};
}
void checkEqual_VkSubpassDescription(const VkSubpassDescription* a, const VkSubpassDescription* b,
OnFailCompareFunc onFail) {
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->inputAttachmentCount) == (b->inputAttachmentCount))) {
onFail("a->inputAttachmentCount (Error: Value not equal)");
};
if ((a->pInputAttachments) && (b->pInputAttachments)) {
if (!((a->inputAttachmentCount) == (b->inputAttachmentCount))) {
onFail("a->pInputAttachments (Error: Lengths not equal)");
};
if ((a->inputAttachmentCount) == (b->inputAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->inputAttachmentCount; ++i) {
checkEqual_VkAttachmentReference(a->pInputAttachments + i,
b->pInputAttachments + i, onFail);
}
}
}
}
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if ((a->pColorAttachments) && (b->pColorAttachments)) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachments (Error: Lengths not equal)");
};
if ((a->colorAttachmentCount) == (b->colorAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->colorAttachmentCount; ++i) {
checkEqual_VkAttachmentReference(a->pColorAttachments + i,
b->pColorAttachments + i, onFail);
}
}
}
}
if (!((!(a->pResolveAttachments) && !(b->pResolveAttachments)) ||
((a->pResolveAttachments) && (b->pResolveAttachments)))) {
onFail("a->pResolveAttachments (Error: Mismatch in optional field)");
};
if (a->pResolveAttachments && b->pResolveAttachments) {
if ((a->pResolveAttachments) && (b->pResolveAttachments)) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pResolveAttachments (Error: Lengths not equal)");
};
if ((a->colorAttachmentCount) == (b->colorAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->colorAttachmentCount; ++i) {
checkEqual_VkAttachmentReference(a->pResolveAttachments + i,
b->pResolveAttachments + i, onFail);
}
}
}
}
}
if (!((!(a->pDepthStencilAttachment) && !(b->pDepthStencilAttachment)) ||
((a->pDepthStencilAttachment) && (b->pDepthStencilAttachment)))) {
onFail("a->pDepthStencilAttachment (Error: Mismatch in optional field)");
};
if (a->pDepthStencilAttachment && b->pDepthStencilAttachment) {
if ((a->pDepthStencilAttachment) && (b->pDepthStencilAttachment)) {
checkEqual_VkAttachmentReference(a->pDepthStencilAttachment, b->pDepthStencilAttachment,
onFail);
}
}
if (!((a->preserveAttachmentCount) == (b->preserveAttachmentCount))) {
onFail("a->preserveAttachmentCount (Error: Value not equal)");
};
if (!((a->preserveAttachmentCount) == (b->preserveAttachmentCount))) {
onFail("a->pPreserveAttachments (Error: Lengths not equal)");
};
if (!((memcmp(a->pPreserveAttachments, b->pPreserveAttachments,
a->preserveAttachmentCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pPreserveAttachments (Error: Unequal dyn array)");
};
}
void checkEqual_VkSubpassDependency(const VkSubpassDependency* a, const VkSubpassDependency* b,
OnFailCompareFunc onFail) {
if (!((a->srcSubpass) == (b->srcSubpass))) {
onFail("a->srcSubpass (Error: Value not equal)");
};
if (!((a->dstSubpass) == (b->dstSubpass))) {
onFail("a->dstSubpass (Error: Value not equal)");
};
if (!((a->srcStageMask) == (b->srcStageMask))) {
onFail("a->srcStageMask (Error: Value not equal)");
};
if (!((a->dstStageMask) == (b->dstStageMask))) {
onFail("a->dstStageMask (Error: Value not equal)");
};
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->dependencyFlags) == (b->dependencyFlags))) {
onFail("a->dependencyFlags (Error: Value not equal)");
};
}
void checkEqual_VkRenderPassCreateInfo(const VkRenderPassCreateInfo* a,
const VkRenderPassCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if ((a->pAttachments) && (b->pAttachments)) {
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pAttachments (Error: Lengths not equal)");
};
if ((a->attachmentCount) == (b->attachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->attachmentCount; ++i) {
checkEqual_VkAttachmentDescription(a->pAttachments + i, b->pAttachments + i,
onFail);
}
}
}
}
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->subpassCount (Error: Value not equal)");
};
if ((a->pSubpasses) && (b->pSubpasses)) {
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->pSubpasses (Error: Lengths not equal)");
};
if ((a->subpassCount) == (b->subpassCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->subpassCount; ++i) {
checkEqual_VkSubpassDescription(a->pSubpasses + i, b->pSubpasses + i, onFail);
}
}
}
}
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->dependencyCount (Error: Value not equal)");
};
if ((a->pDependencies) && (b->pDependencies)) {
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->pDependencies (Error: Lengths not equal)");
};
if ((a->dependencyCount) == (b->dependencyCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->dependencyCount; ++i) {
checkEqual_VkSubpassDependency(a->pDependencies + i, b->pDependencies + i,
onFail);
}
}
}
}
}
void checkEqual_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* a,
const VkCommandPoolCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->queueFamilyIndex) == (b->queueFamilyIndex))) {
onFail("a->queueFamilyIndex (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* a,
const VkCommandBufferAllocateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->commandPool) == (b->commandPool))) {
onFail("a->commandPool (Error: Value not equal)");
};
if (!((a->level) == (b->level))) {
onFail("a->level (Error: Value not equal)");
};
if (!((a->commandBufferCount) == (b->commandBufferCount))) {
onFail("a->commandBufferCount (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* a,
const VkCommandBufferInheritanceInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->renderPass) == (b->renderPass))) {
onFail("a->renderPass (Error: Value not equal)");
};
if (!((a->subpass) == (b->subpass))) {
onFail("a->subpass (Error: Value not equal)");
};
if (!((a->framebuffer) == (b->framebuffer))) {
onFail("a->framebuffer (Error: Value not equal)");
};
if (!((a->occlusionQueryEnable) == (b->occlusionQueryEnable))) {
onFail("a->occlusionQueryEnable (Error: Value not equal)");
};
if (!((a->queryFlags) == (b->queryFlags))) {
onFail("a->queryFlags (Error: Value not equal)");
};
if (!((a->pipelineStatistics) == (b->pipelineStatistics))) {
onFail("a->pipelineStatistics (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* a,
const VkCommandBufferBeginInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pInheritanceInfo) && !(b->pInheritanceInfo)) ||
((a->pInheritanceInfo) && (b->pInheritanceInfo)))) {
onFail("a->pInheritanceInfo (Error: Mismatch in optional field)");
};
if (a->pInheritanceInfo && b->pInheritanceInfo) {
if ((a->pInheritanceInfo) && (b->pInheritanceInfo)) {
checkEqual_VkCommandBufferInheritanceInfo(a->pInheritanceInfo, b->pInheritanceInfo,
onFail);
}
}
}
void checkEqual_VkBufferCopy(const VkBufferCopy* a, const VkBufferCopy* b,
OnFailCompareFunc onFail) {
if (!((a->srcOffset) == (b->srcOffset))) {
onFail("a->srcOffset (Error: Value not equal)");
};
if (!((a->dstOffset) == (b->dstOffset))) {
onFail("a->dstOffset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkImageSubresourceLayers(const VkImageSubresourceLayers* a,
const VkImageSubresourceLayers* b,
OnFailCompareFunc onFail) {
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
if (!((a->mipLevel) == (b->mipLevel))) {
onFail("a->mipLevel (Error: Value not equal)");
};
if (!((a->baseArrayLayer) == (b->baseArrayLayer))) {
onFail("a->baseArrayLayer (Error: Value not equal)");
};
if (!((a->layerCount) == (b->layerCount))) {
onFail("a->layerCount (Error: Value not equal)");
};
}
void checkEqual_VkBufferImageCopy(const VkBufferImageCopy* a, const VkBufferImageCopy* b,
OnFailCompareFunc onFail) {
if (!((a->bufferOffset) == (b->bufferOffset))) {
onFail("a->bufferOffset (Error: Value not equal)");
};
if (!((a->bufferRowLength) == (b->bufferRowLength))) {
onFail("a->bufferRowLength (Error: Value not equal)");
};
if (!((a->bufferImageHeight) == (b->bufferImageHeight))) {
onFail("a->bufferImageHeight (Error: Value not equal)");
};
checkEqual_VkImageSubresourceLayers(&a->imageSubresource, &b->imageSubresource, onFail);
checkEqual_VkOffset3D(&a->imageOffset, &b->imageOffset, onFail);
checkEqual_VkExtent3D(&a->imageExtent, &b->imageExtent, onFail);
}
void checkEqual_VkClearColorValue(const VkClearColorValue* a, const VkClearColorValue* b,
OnFailCompareFunc onFail) {
if (!((memcmp(a->float32, b->float32, 4 * sizeof(float)) == 0))) {
onFail("a->float32 (Error: Unequal static array)");
};
if (!((memcmp(a->int32, b->int32, 4 * sizeof(int32_t)) == 0))) {
onFail("a->int32 (Error: Unequal static array)");
};
if (!((memcmp(a->uint32, b->uint32, 4 * sizeof(uint32_t)) == 0))) {
onFail("a->uint32 (Error: Unequal static array)");
};
}
void checkEqual_VkClearDepthStencilValue(const VkClearDepthStencilValue* a,
const VkClearDepthStencilValue* b,
OnFailCompareFunc onFail) {
if (!((a->depth) == (b->depth))) {
onFail("a->depth (Error: Value not equal)");
};
if (!((a->stencil) == (b->stencil))) {
onFail("a->stencil (Error: Value not equal)");
};
}
void checkEqual_VkClearValue(const VkClearValue* a, const VkClearValue* b,
OnFailCompareFunc onFail) {
checkEqual_VkClearColorValue(&a->color, &b->color, onFail);
checkEqual_VkClearDepthStencilValue(&a->depthStencil, &b->depthStencil, onFail);
}
void checkEqual_VkClearAttachment(const VkClearAttachment* a, const VkClearAttachment* b,
OnFailCompareFunc onFail) {
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
if (!((a->colorAttachment) == (b->colorAttachment))) {
onFail("a->colorAttachment (Error: Value not equal)");
};
checkEqual_VkClearValue(&a->clearValue, &b->clearValue, onFail);
}
void checkEqual_VkClearRect(const VkClearRect* a, const VkClearRect* b, OnFailCompareFunc onFail) {
checkEqual_VkRect2D(&a->rect, &b->rect, onFail);
if (!((a->baseArrayLayer) == (b->baseArrayLayer))) {
onFail("a->baseArrayLayer (Error: Value not equal)");
};
if (!((a->layerCount) == (b->layerCount))) {
onFail("a->layerCount (Error: Value not equal)");
};
}
void checkEqual_VkImageBlit(const VkImageBlit* a, const VkImageBlit* b, OnFailCompareFunc onFail) {
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
if (!((2) == (2))) {
onFail("a->srcOffsets (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
checkEqual_VkOffset3D(a->srcOffsets + i, b->srcOffsets + i, onFail);
}
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
if (!((2) == (2))) {
onFail("a->dstOffsets (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
checkEqual_VkOffset3D(a->dstOffsets + i, b->dstOffsets + i, onFail);
}
}
void checkEqual_VkImageCopy(const VkImageCopy* a, const VkImageCopy* b, OnFailCompareFunc onFail) {
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
checkEqual_VkOffset3D(&a->srcOffset, &b->srcOffset, onFail);
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
checkEqual_VkOffset3D(&a->dstOffset, &b->dstOffset, onFail);
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
}
void checkEqual_VkImageResolve(const VkImageResolve* a, const VkImageResolve* b,
OnFailCompareFunc onFail) {
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
checkEqual_VkOffset3D(&a->srcOffset, &b->srcOffset, onFail);
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
checkEqual_VkOffset3D(&a->dstOffset, &b->dstOffset, onFail);
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
}
void checkEqual_VkRenderPassBeginInfo(const VkRenderPassBeginInfo* a,
const VkRenderPassBeginInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->renderPass) == (b->renderPass))) {
onFail("a->renderPass (Error: Value not equal)");
};
if (!((a->framebuffer) == (b->framebuffer))) {
onFail("a->framebuffer (Error: Value not equal)");
};
checkEqual_VkRect2D(&a->renderArea, &b->renderArea, onFail);
if (!((a->clearValueCount) == (b->clearValueCount))) {
onFail("a->clearValueCount (Error: Value not equal)");
};
if (!((!(a->pClearValues) && !(b->pClearValues)) || ((a->pClearValues) && (b->pClearValues)))) {
onFail("a->pClearValues (Error: Mismatch in optional field)");
};
if (a->pClearValues && b->pClearValues) {
if ((a->pClearValues) && (b->pClearValues)) {
if (!((a->clearValueCount) == (b->clearValueCount))) {
onFail("a->pClearValues (Error: Lengths not equal)");
};
if ((a->clearValueCount) == (b->clearValueCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->clearValueCount; ++i) {
checkEqual_VkClearValue(a->pClearValues + i, b->pClearValues + i, onFail);
}
}
}
}
}
}
#endif
#ifdef VK_VERSION_1_1
void checkEqual_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* a,
const VkPhysicalDeviceSubgroupProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->subgroupSize) == (b->subgroupSize))) {
onFail("a->subgroupSize (Error: Value not equal)");
};
if (!((a->supportedStages) == (b->supportedStages))) {
onFail("a->supportedStages (Error: Value not equal)");
};
if (!((a->supportedOperations) == (b->supportedOperations))) {
onFail("a->supportedOperations (Error: Value not equal)");
};
if (!((a->quadOperationsInAllStages) == (b->quadOperationsInAllStages))) {
onFail("a->quadOperationsInAllStages (Error: Value not equal)");
};
}
void checkEqual_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo* a,
const VkBindBufferMemoryInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
}
void checkEqual_VkBindImageMemoryInfo(const VkBindImageMemoryInfo* a,
const VkBindImageMemoryInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* a,
const VkPhysicalDevice16BitStorageFeatures* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->storageBuffer16BitAccess) == (b->storageBuffer16BitAccess))) {
onFail("a->storageBuffer16BitAccess (Error: Value not equal)");
};
if (!((a->uniformAndStorageBuffer16BitAccess) == (b->uniformAndStorageBuffer16BitAccess))) {
onFail("a->uniformAndStorageBuffer16BitAccess (Error: Value not equal)");
};
if (!((a->storagePushConstant16) == (b->storagePushConstant16))) {
onFail("a->storagePushConstant16 (Error: Value not equal)");
};
if (!((a->storageInputOutput16) == (b->storageInputOutput16))) {
onFail("a->storageInputOutput16 (Error: Value not equal)");
};
}
void checkEqual_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements* a,
const VkMemoryDedicatedRequirements* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->prefersDedicatedAllocation) == (b->prefersDedicatedAllocation))) {
onFail("a->prefersDedicatedAllocation (Error: Value not equal)");
};
if (!((a->requiresDedicatedAllocation) == (b->requiresDedicatedAllocation))) {
onFail("a->requiresDedicatedAllocation (Error: Value not equal)");
};
}
void checkEqual_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo* a,
const VkMemoryDedicatedAllocateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
}
void checkEqual_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo* a,
const VkMemoryAllocateFlagsInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->deviceMask) == (b->deviceMask))) {
onFail("a->deviceMask (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* a,
const VkDeviceGroupRenderPassBeginInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceMask) == (b->deviceMask))) {
onFail("a->deviceMask (Error: Value not equal)");
};
if (!((a->deviceRenderAreaCount) == (b->deviceRenderAreaCount))) {
onFail("a->deviceRenderAreaCount (Error: Value not equal)");
};
if ((a->pDeviceRenderAreas) && (b->pDeviceRenderAreas)) {
if (!((a->deviceRenderAreaCount) == (b->deviceRenderAreaCount))) {
onFail("a->pDeviceRenderAreas (Error: Lengths not equal)");
};
if ((a->deviceRenderAreaCount) == (b->deviceRenderAreaCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->deviceRenderAreaCount; ++i) {
checkEqual_VkRect2D(a->pDeviceRenderAreas + i, b->pDeviceRenderAreas + i,
onFail);
}
}
}
}
}
void checkEqual_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo* a,
const VkDeviceGroupCommandBufferBeginInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceMask) == (b->deviceMask))) {
onFail("a->deviceMask (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo* a,
const VkDeviceGroupSubmitInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->waitSemaphoreCount (Error: Value not equal)");
};
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->pWaitSemaphoreDeviceIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphoreDeviceIndices, b->pWaitSemaphoreDeviceIndices,
a->waitSemaphoreCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pWaitSemaphoreDeviceIndices (Error: Unequal dyn array)");
};
if (!((a->commandBufferCount) == (b->commandBufferCount))) {
onFail("a->commandBufferCount (Error: Value not equal)");
};
if (!((a->commandBufferCount) == (b->commandBufferCount))) {
onFail("a->pCommandBufferDeviceMasks (Error: Lengths not equal)");
};
if (!((memcmp(a->pCommandBufferDeviceMasks, b->pCommandBufferDeviceMasks,
a->commandBufferCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pCommandBufferDeviceMasks (Error: Unequal dyn array)");
};
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->signalSemaphoreCount (Error: Value not equal)");
};
if (!((a->signalSemaphoreCount) == (b->signalSemaphoreCount))) {
onFail("a->pSignalSemaphoreDeviceIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pSignalSemaphoreDeviceIndices, b->pSignalSemaphoreDeviceIndices,
a->signalSemaphoreCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pSignalSemaphoreDeviceIndices (Error: Unequal dyn array)");
};
}
void checkEqual_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo* a,
const VkDeviceGroupBindSparseInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->resourceDeviceIndex) == (b->resourceDeviceIndex))) {
onFail("a->resourceDeviceIndex (Error: Value not equal)");
};
if (!((a->memoryDeviceIndex) == (b->memoryDeviceIndex))) {
onFail("a->memoryDeviceIndex (Error: Value not equal)");
};
}
void checkEqual_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo* a,
const VkBindBufferMemoryDeviceGroupInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->deviceIndexCount (Error: Value not equal)");
};
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->pDeviceIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pDeviceIndices, b->pDeviceIndices,
a->deviceIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pDeviceIndices (Error: Unequal dyn array)");
};
}
void checkEqual_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo* a,
const VkBindImageMemoryDeviceGroupInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->deviceIndexCount (Error: Value not equal)");
};
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->pDeviceIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pDeviceIndices, b->pDeviceIndices,
a->deviceIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pDeviceIndices (Error: Unequal dyn array)");
};
if (!((a->splitInstanceBindRegionCount) == (b->splitInstanceBindRegionCount))) {
onFail("a->splitInstanceBindRegionCount (Error: Value not equal)");
};
if ((a->pSplitInstanceBindRegions) && (b->pSplitInstanceBindRegions)) {
if (!((a->splitInstanceBindRegionCount) == (b->splitInstanceBindRegionCount))) {
onFail("a->pSplitInstanceBindRegions (Error: Lengths not equal)");
};
if ((a->splitInstanceBindRegionCount) == (b->splitInstanceBindRegionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->splitInstanceBindRegionCount; ++i) {
checkEqual_VkRect2D(a->pSplitInstanceBindRegions + i,
b->pSplitInstanceBindRegions + i, onFail);
}
}
}
}
}
void checkEqual_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties* a,
const VkPhysicalDeviceGroupProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->physicalDeviceCount) == (b->physicalDeviceCount))) {
onFail("a->physicalDeviceCount (Error: Value not equal)");
};
if (!((memcmp(a->physicalDevices, b->physicalDevices,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice)) == 0))) {
onFail("a->physicalDevices (Error: Unequal static array)");
};
if (!((a->subsetAllocation) == (b->subsetAllocation))) {
onFail("a->subsetAllocation (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo* a,
const VkDeviceGroupDeviceCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->physicalDeviceCount) == (b->physicalDeviceCount))) {
onFail("a->physicalDeviceCount (Error: Value not equal)");
};
if (!((a->physicalDeviceCount) == (b->physicalDeviceCount))) {
onFail("a->pPhysicalDevices (Error: Lengths not equal)");
};
if (!((memcmp(a->pPhysicalDevices, b->pPhysicalDevices,
a->physicalDeviceCount * sizeof(const VkPhysicalDevice)) == 0))) {
onFail("a->pPhysicalDevices (Error: Unequal dyn array)");
};
}
void checkEqual_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2* a,
const VkBufferMemoryRequirementsInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
}
void checkEqual_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2* a,
const VkImageMemoryRequirementsInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
}
void checkEqual_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2* a,
const VkImageSparseMemoryRequirementsInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
}
void checkEqual_VkMemoryRequirements2(const VkMemoryRequirements2* a,
const VkMemoryRequirements2* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkMemoryRequirements(&a->memoryRequirements, &b->memoryRequirements, onFail);
}
void checkEqual_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2* a,
const VkSparseImageMemoryRequirements2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkSparseImageMemoryRequirements(&a->memoryRequirements, &b->memoryRequirements,
onFail);
}
void checkEqual_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2* a,
const VkPhysicalDeviceFeatures2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkPhysicalDeviceFeatures(&a->features, &b->features, onFail);
}
void checkEqual_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2* a,
const VkPhysicalDeviceProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkPhysicalDeviceProperties(&a->properties, &b->properties, onFail);
}
void checkEqual_VkFormatProperties2(const VkFormatProperties2* a, const VkFormatProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkFormatProperties(&a->formatProperties, &b->formatProperties, onFail);
}
void checkEqual_VkImageFormatProperties2(const VkImageFormatProperties2* a,
const VkImageFormatProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkImageFormatProperties(&a->imageFormatProperties, &b->imageFormatProperties,
onFail);
}
void checkEqual_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2* a,
const VkPhysicalDeviceImageFormatInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->tiling) == (b->tiling))) {
onFail("a->tiling (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkQueueFamilyProperties2(const VkQueueFamilyProperties2* a,
const VkQueueFamilyProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkQueueFamilyProperties(&a->queueFamilyProperties, &b->queueFamilyProperties,
onFail);
}
void checkEqual_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2* a,
const VkPhysicalDeviceMemoryProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkPhysicalDeviceMemoryProperties(&a->memoryProperties, &b->memoryProperties, onFail);
}
void checkEqual_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2* a,
const VkSparseImageFormatProperties2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkSparseImageFormatProperties(&a->properties, &b->properties, onFail);
}
void checkEqual_VkPhysicalDeviceSparseImageFormatInfo2(
const VkPhysicalDeviceSparseImageFormatInfo2* a,
const VkPhysicalDeviceSparseImageFormatInfo2* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->samples) == (b->samples))) {
onFail("a->samples (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->tiling) == (b->tiling))) {
onFail("a->tiling (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDevicePointClippingProperties(
const VkPhysicalDevicePointClippingProperties* a,
const VkPhysicalDevicePointClippingProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pointClippingBehavior) == (b->pointClippingBehavior))) {
onFail("a->pointClippingBehavior (Error: Value not equal)");
};
}
void checkEqual_VkInputAttachmentAspectReference(const VkInputAttachmentAspectReference* a,
const VkInputAttachmentAspectReference* b,
OnFailCompareFunc onFail) {
if (!((a->subpass) == (b->subpass))) {
onFail("a->subpass (Error: Value not equal)");
};
if (!((a->inputAttachmentIndex) == (b->inputAttachmentIndex))) {
onFail("a->inputAttachmentIndex (Error: Value not equal)");
};
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
}
void checkEqual_VkRenderPassInputAttachmentAspectCreateInfo(
const VkRenderPassInputAttachmentAspectCreateInfo* a,
const VkRenderPassInputAttachmentAspectCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->aspectReferenceCount) == (b->aspectReferenceCount))) {
onFail("a->aspectReferenceCount (Error: Value not equal)");
};
if ((a->pAspectReferences) && (b->pAspectReferences)) {
if (!((a->aspectReferenceCount) == (b->aspectReferenceCount))) {
onFail("a->pAspectReferences (Error: Lengths not equal)");
};
if ((a->aspectReferenceCount) == (b->aspectReferenceCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->aspectReferenceCount; ++i) {
checkEqual_VkInputAttachmentAspectReference(a->pAspectReferences + i,
b->pAspectReferences + i, onFail);
}
}
}
}
}
void checkEqual_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo* a,
const VkImageViewUsageCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
}
void checkEqual_VkPipelineTessellationDomainOriginStateCreateInfo(
const VkPipelineTessellationDomainOriginStateCreateInfo* a,
const VkPipelineTessellationDomainOriginStateCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->domainOrigin) == (b->domainOrigin))) {
onFail("a->domainOrigin (Error: Value not equal)");
};
}
void checkEqual_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* a,
const VkRenderPassMultiviewCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->subpassCount (Error: Value not equal)");
};
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->pViewMasks (Error: Lengths not equal)");
};
if (!((memcmp(a->pViewMasks, b->pViewMasks, a->subpassCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pViewMasks (Error: Unequal dyn array)");
};
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->dependencyCount (Error: Value not equal)");
};
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->pViewOffsets (Error: Lengths not equal)");
};
if (!((memcmp(a->pViewOffsets, b->pViewOffsets, a->dependencyCount * sizeof(const int32_t)) ==
0))) {
onFail("a->pViewOffsets (Error: Unequal dyn array)");
};
if (!((a->correlationMaskCount) == (b->correlationMaskCount))) {
onFail("a->correlationMaskCount (Error: Value not equal)");
};
if (!((a->correlationMaskCount) == (b->correlationMaskCount))) {
onFail("a->pCorrelationMasks (Error: Lengths not equal)");
};
if (!((memcmp(a->pCorrelationMasks, b->pCorrelationMasks,
a->correlationMaskCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pCorrelationMasks (Error: Unequal dyn array)");
};
}
void checkEqual_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* a,
const VkPhysicalDeviceMultiviewFeatures* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->multiview) == (b->multiview))) {
onFail("a->multiview (Error: Value not equal)");
};
if (!((a->multiviewGeometryShader) == (b->multiviewGeometryShader))) {
onFail("a->multiviewGeometryShader (Error: Value not equal)");
};
if (!((a->multiviewTessellationShader) == (b->multiviewTessellationShader))) {
onFail("a->multiviewTessellationShader (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* a,
const VkPhysicalDeviceMultiviewProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxMultiviewViewCount) == (b->maxMultiviewViewCount))) {
onFail("a->maxMultiviewViewCount (Error: Value not equal)");
};
if (!((a->maxMultiviewInstanceIndex) == (b->maxMultiviewInstanceIndex))) {
onFail("a->maxMultiviewInstanceIndex (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVariablePointersFeatures(
const VkPhysicalDeviceVariablePointersFeatures* a,
const VkPhysicalDeviceVariablePointersFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->variablePointersStorageBuffer) == (b->variablePointersStorageBuffer))) {
onFail("a->variablePointersStorageBuffer (Error: Value not equal)");
};
if (!((a->variablePointers) == (b->variablePointers))) {
onFail("a->variablePointers (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceProtectedMemoryFeatures(
const VkPhysicalDeviceProtectedMemoryFeatures* a,
const VkPhysicalDeviceProtectedMemoryFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->protectedMemory) == (b->protectedMemory))) {
onFail("a->protectedMemory (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceProtectedMemoryProperties(
const VkPhysicalDeviceProtectedMemoryProperties* a,
const VkPhysicalDeviceProtectedMemoryProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->protectedNoFault) == (b->protectedNoFault))) {
onFail("a->protectedNoFault (Error: Value not equal)");
};
}
void checkEqual_VkDeviceQueueInfo2(const VkDeviceQueueInfo2* a, const VkDeviceQueueInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->queueFamilyIndex) == (b->queueFamilyIndex))) {
onFail("a->queueFamilyIndex (Error: Value not equal)");
};
if (!((a->queueIndex) == (b->queueIndex))) {
onFail("a->queueIndex (Error: Value not equal)");
};
}
void checkEqual_VkProtectedSubmitInfo(const VkProtectedSubmitInfo* a,
const VkProtectedSubmitInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->protectedSubmit) == (b->protectedSubmit))) {
onFail("a->protectedSubmit (Error: Value not equal)");
};
}
void checkEqual_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* a,
const VkSamplerYcbcrConversionCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->ycbcrModel) == (b->ycbcrModel))) {
onFail("a->ycbcrModel (Error: Value not equal)");
};
if (!((a->ycbcrRange) == (b->ycbcrRange))) {
onFail("a->ycbcrRange (Error: Value not equal)");
};
checkEqual_VkComponentMapping(&a->components, &b->components, onFail);
if (!((a->xChromaOffset) == (b->xChromaOffset))) {
onFail("a->xChromaOffset (Error: Value not equal)");
};
if (!((a->yChromaOffset) == (b->yChromaOffset))) {
onFail("a->yChromaOffset (Error: Value not equal)");
};
if (!((a->chromaFilter) == (b->chromaFilter))) {
onFail("a->chromaFilter (Error: Value not equal)");
};
if (!((a->forceExplicitReconstruction) == (b->forceExplicitReconstruction))) {
onFail("a->forceExplicitReconstruction (Error: Value not equal)");
};
}
void checkEqual_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* a,
const VkSamplerYcbcrConversionInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->conversion) == (b->conversion))) {
onFail("a->conversion (Error: Value not equal)");
};
}
void checkEqual_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo* a,
const VkBindImagePlaneMemoryInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->planeAspect) == (b->planeAspect))) {
onFail("a->planeAspect (Error: Value not equal)");
};
}
void checkEqual_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo* a,
const VkImagePlaneMemoryRequirementsInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->planeAspect) == (b->planeAspect))) {
onFail("a->planeAspect (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
const VkPhysicalDeviceSamplerYcbcrConversionFeatures* a,
const VkPhysicalDeviceSamplerYcbcrConversionFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->samplerYcbcrConversion) == (b->samplerYcbcrConversion))) {
onFail("a->samplerYcbcrConversion (Error: Value not equal)");
};
}
void checkEqual_VkSamplerYcbcrConversionImageFormatProperties(
const VkSamplerYcbcrConversionImageFormatProperties* a,
const VkSamplerYcbcrConversionImageFormatProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->combinedImageSamplerDescriptorCount) == (b->combinedImageSamplerDescriptorCount))) {
onFail("a->combinedImageSamplerDescriptorCount (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorUpdateTemplateEntry(const VkDescriptorUpdateTemplateEntry* a,
const VkDescriptorUpdateTemplateEntry* b,
OnFailCompareFunc onFail) {
if (!((a->dstBinding) == (b->dstBinding))) {
onFail("a->dstBinding (Error: Value not equal)");
};
if (!((a->dstArrayElement) == (b->dstArrayElement))) {
onFail("a->dstArrayElement (Error: Value not equal)");
};
if (!((a->descriptorCount) == (b->descriptorCount))) {
onFail("a->descriptorCount (Error: Value not equal)");
};
if (!((a->descriptorType) == (b->descriptorType))) {
onFail("a->descriptorType (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* a,
const VkDescriptorUpdateTemplateCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->descriptorUpdateEntryCount) == (b->descriptorUpdateEntryCount))) {
onFail("a->descriptorUpdateEntryCount (Error: Value not equal)");
};
if ((a->pDescriptorUpdateEntries) && (b->pDescriptorUpdateEntries)) {
if (!((a->descriptorUpdateEntryCount) == (b->descriptorUpdateEntryCount))) {
onFail("a->pDescriptorUpdateEntries (Error: Lengths not equal)");
};
if ((a->descriptorUpdateEntryCount) == (b->descriptorUpdateEntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->descriptorUpdateEntryCount; ++i) {
checkEqual_VkDescriptorUpdateTemplateEntry(
a->pDescriptorUpdateEntries + i, b->pDescriptorUpdateEntries + i, onFail);
}
}
}
}
if (!((a->templateType) == (b->templateType))) {
onFail("a->templateType (Error: Value not equal)");
};
if (!((a->descriptorSetLayout) == (b->descriptorSetLayout))) {
onFail("a->descriptorSetLayout (Error: Value not equal)");
};
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->pipelineLayout) == (b->pipelineLayout))) {
onFail("a->pipelineLayout (Error: Value not equal)");
};
if (!((a->set) == (b->set))) {
onFail("a->set (Error: Value not equal)");
};
}
void checkEqual_VkExternalMemoryProperties(const VkExternalMemoryProperties* a,
const VkExternalMemoryProperties* b,
OnFailCompareFunc onFail) {
if (!((a->externalMemoryFeatures) == (b->externalMemoryFeatures))) {
onFail("a->externalMemoryFeatures (Error: Value not equal)");
};
if (!((a->exportFromImportedHandleTypes) == (b->exportFromImportedHandleTypes))) {
onFail("a->exportFromImportedHandleTypes (Error: Value not equal)");
};
if (!((a->compatibleHandleTypes) == (b->compatibleHandleTypes))) {
onFail("a->compatibleHandleTypes (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceExternalImageFormatInfo(
const VkPhysicalDeviceExternalImageFormatInfo* a,
const VkPhysicalDeviceExternalImageFormatInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
void checkEqual_VkExternalImageFormatProperties(const VkExternalImageFormatProperties* a,
const VkExternalImageFormatProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExternalMemoryProperties(&a->externalMemoryProperties,
&b->externalMemoryProperties, onFail);
}
void checkEqual_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo* a,
const VkPhysicalDeviceExternalBufferInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
void checkEqual_VkExternalBufferProperties(const VkExternalBufferProperties* a,
const VkExternalBufferProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExternalMemoryProperties(&a->externalMemoryProperties,
&b->externalMemoryProperties, onFail);
}
void checkEqual_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties* a,
const VkPhysicalDeviceIDProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->deviceUUID, b->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->deviceUUID (Error: Unequal static array)");
};
if (!((memcmp(a->driverUUID, b->driverUUID, VK_UUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->driverUUID (Error: Unequal static array)");
};
if (!((memcmp(a->deviceLUID, b->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->deviceLUID (Error: Unequal static array)");
};
if (!((a->deviceNodeMask) == (b->deviceNodeMask))) {
onFail("a->deviceNodeMask (Error: Value not equal)");
};
if (!((a->deviceLUIDValid) == (b->deviceLUIDValid))) {
onFail("a->deviceLUIDValid (Error: Value not equal)");
};
}
void checkEqual_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo* a,
const VkExternalMemoryImageCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo* a,
const VkExternalMemoryBufferCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo* a,
const VkExportMemoryAllocateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo* a,
const VkPhysicalDeviceExternalFenceInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
void checkEqual_VkExternalFenceProperties(const VkExternalFenceProperties* a,
const VkExternalFenceProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->exportFromImportedHandleTypes) == (b->exportFromImportedHandleTypes))) {
onFail("a->exportFromImportedHandleTypes (Error: Value not equal)");
};
if (!((a->compatibleHandleTypes) == (b->compatibleHandleTypes))) {
onFail("a->compatibleHandleTypes (Error: Value not equal)");
};
if (!((a->externalFenceFeatures) == (b->externalFenceFeatures))) {
onFail("a->externalFenceFeatures (Error: Value not equal)");
};
}
void checkEqual_VkExportFenceCreateInfo(const VkExportFenceCreateInfo* a,
const VkExportFenceCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo* a,
const VkExportSemaphoreCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceExternalSemaphoreInfo(
const VkPhysicalDeviceExternalSemaphoreInfo* a, const VkPhysicalDeviceExternalSemaphoreInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
void checkEqual_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties* a,
const VkExternalSemaphoreProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->exportFromImportedHandleTypes) == (b->exportFromImportedHandleTypes))) {
onFail("a->exportFromImportedHandleTypes (Error: Value not equal)");
};
if (!((a->compatibleHandleTypes) == (b->compatibleHandleTypes))) {
onFail("a->compatibleHandleTypes (Error: Value not equal)");
};
if (!((a->externalSemaphoreFeatures) == (b->externalSemaphoreFeatures))) {
onFail("a->externalSemaphoreFeatures (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMaintenance3Properties(
const VkPhysicalDeviceMaintenance3Properties* a,
const VkPhysicalDeviceMaintenance3Properties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxPerSetDescriptors) == (b->maxPerSetDescriptors))) {
onFail("a->maxPerSetDescriptors (Error: Value not equal)");
};
if (!((a->maxMemoryAllocationSize) == (b->maxMemoryAllocationSize))) {
onFail("a->maxMemoryAllocationSize (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport* a,
const VkDescriptorSetLayoutSupport* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->supported) == (b->supported))) {
onFail("a->supported (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShaderDrawParametersFeatures(
const VkPhysicalDeviceShaderDrawParametersFeatures* a,
const VkPhysicalDeviceShaderDrawParametersFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderDrawParameters) == (b->shaderDrawParameters))) {
onFail("a->shaderDrawParameters (Error: Value not equal)");
};
}
#endif
#ifdef VK_VERSION_1_2
void checkEqual_VkPhysicalDeviceVulkan11Features(const VkPhysicalDeviceVulkan11Features* a,
const VkPhysicalDeviceVulkan11Features* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->storageBuffer16BitAccess) == (b->storageBuffer16BitAccess))) {
onFail("a->storageBuffer16BitAccess (Error: Value not equal)");
};
if (!((a->uniformAndStorageBuffer16BitAccess) == (b->uniformAndStorageBuffer16BitAccess))) {
onFail("a->uniformAndStorageBuffer16BitAccess (Error: Value not equal)");
};
if (!((a->storagePushConstant16) == (b->storagePushConstant16))) {
onFail("a->storagePushConstant16 (Error: Value not equal)");
};
if (!((a->storageInputOutput16) == (b->storageInputOutput16))) {
onFail("a->storageInputOutput16 (Error: Value not equal)");
};
if (!((a->multiview) == (b->multiview))) {
onFail("a->multiview (Error: Value not equal)");
};
if (!((a->multiviewGeometryShader) == (b->multiviewGeometryShader))) {
onFail("a->multiviewGeometryShader (Error: Value not equal)");
};
if (!((a->multiviewTessellationShader) == (b->multiviewTessellationShader))) {
onFail("a->multiviewTessellationShader (Error: Value not equal)");
};
if (!((a->variablePointersStorageBuffer) == (b->variablePointersStorageBuffer))) {
onFail("a->variablePointersStorageBuffer (Error: Value not equal)");
};
if (!((a->variablePointers) == (b->variablePointers))) {
onFail("a->variablePointers (Error: Value not equal)");
};
if (!((a->protectedMemory) == (b->protectedMemory))) {
onFail("a->protectedMemory (Error: Value not equal)");
};
if (!((a->samplerYcbcrConversion) == (b->samplerYcbcrConversion))) {
onFail("a->samplerYcbcrConversion (Error: Value not equal)");
};
if (!((a->shaderDrawParameters) == (b->shaderDrawParameters))) {
onFail("a->shaderDrawParameters (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVulkan11Properties(const VkPhysicalDeviceVulkan11Properties* a,
const VkPhysicalDeviceVulkan11Properties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->deviceUUID, b->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->deviceUUID (Error: Unequal static array)");
};
if (!((memcmp(a->driverUUID, b->driverUUID, VK_UUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->driverUUID (Error: Unequal static array)");
};
if (!((memcmp(a->deviceLUID, b->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->deviceLUID (Error: Unequal static array)");
};
if (!((a->deviceNodeMask) == (b->deviceNodeMask))) {
onFail("a->deviceNodeMask (Error: Value not equal)");
};
if (!((a->deviceLUIDValid) == (b->deviceLUIDValid))) {
onFail("a->deviceLUIDValid (Error: Value not equal)");
};
if (!((a->subgroupSize) == (b->subgroupSize))) {
onFail("a->subgroupSize (Error: Value not equal)");
};
if (!((a->subgroupSupportedStages) == (b->subgroupSupportedStages))) {
onFail("a->subgroupSupportedStages (Error: Value not equal)");
};
if (!((a->subgroupSupportedOperations) == (b->subgroupSupportedOperations))) {
onFail("a->subgroupSupportedOperations (Error: Value not equal)");
};
if (!((a->subgroupQuadOperationsInAllStages) == (b->subgroupQuadOperationsInAllStages))) {
onFail("a->subgroupQuadOperationsInAllStages (Error: Value not equal)");
};
if (!((a->pointClippingBehavior) == (b->pointClippingBehavior))) {
onFail("a->pointClippingBehavior (Error: Value not equal)");
};
if (!((a->maxMultiviewViewCount) == (b->maxMultiviewViewCount))) {
onFail("a->maxMultiviewViewCount (Error: Value not equal)");
};
if (!((a->maxMultiviewInstanceIndex) == (b->maxMultiviewInstanceIndex))) {
onFail("a->maxMultiviewInstanceIndex (Error: Value not equal)");
};
if (!((a->protectedNoFault) == (b->protectedNoFault))) {
onFail("a->protectedNoFault (Error: Value not equal)");
};
if (!((a->maxPerSetDescriptors) == (b->maxPerSetDescriptors))) {
onFail("a->maxPerSetDescriptors (Error: Value not equal)");
};
if (!((a->maxMemoryAllocationSize) == (b->maxMemoryAllocationSize))) {
onFail("a->maxMemoryAllocationSize (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVulkan12Features(const VkPhysicalDeviceVulkan12Features* a,
const VkPhysicalDeviceVulkan12Features* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->samplerMirrorClampToEdge) == (b->samplerMirrorClampToEdge))) {
onFail("a->samplerMirrorClampToEdge (Error: Value not equal)");
};
if (!((a->drawIndirectCount) == (b->drawIndirectCount))) {
onFail("a->drawIndirectCount (Error: Value not equal)");
};
if (!((a->storageBuffer8BitAccess) == (b->storageBuffer8BitAccess))) {
onFail("a->storageBuffer8BitAccess (Error: Value not equal)");
};
if (!((a->uniformAndStorageBuffer8BitAccess) == (b->uniformAndStorageBuffer8BitAccess))) {
onFail("a->uniformAndStorageBuffer8BitAccess (Error: Value not equal)");
};
if (!((a->storagePushConstant8) == (b->storagePushConstant8))) {
onFail("a->storagePushConstant8 (Error: Value not equal)");
};
if (!((a->shaderBufferInt64Atomics) == (b->shaderBufferInt64Atomics))) {
onFail("a->shaderBufferInt64Atomics (Error: Value not equal)");
};
if (!((a->shaderSharedInt64Atomics) == (b->shaderSharedInt64Atomics))) {
onFail("a->shaderSharedInt64Atomics (Error: Value not equal)");
};
if (!((a->shaderFloat16) == (b->shaderFloat16))) {
onFail("a->shaderFloat16 (Error: Value not equal)");
};
if (!((a->shaderInt8) == (b->shaderInt8))) {
onFail("a->shaderInt8 (Error: Value not equal)");
};
if (!((a->descriptorIndexing) == (b->descriptorIndexing))) {
onFail("a->descriptorIndexing (Error: Value not equal)");
};
if (!((a->shaderInputAttachmentArrayDynamicIndexing) ==
(b->shaderInputAttachmentArrayDynamicIndexing))) {
onFail("a->shaderInputAttachmentArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformTexelBufferArrayDynamicIndexing) ==
(b->shaderUniformTexelBufferArrayDynamicIndexing))) {
onFail("a->shaderUniformTexelBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageTexelBufferArrayDynamicIndexing) ==
(b->shaderStorageTexelBufferArrayDynamicIndexing))) {
onFail("a->shaderStorageTexelBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformBufferArrayNonUniformIndexing) ==
(b->shaderUniformBufferArrayNonUniformIndexing))) {
onFail("a->shaderUniformBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderSampledImageArrayNonUniformIndexing) ==
(b->shaderSampledImageArrayNonUniformIndexing))) {
onFail("a->shaderSampledImageArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageBufferArrayNonUniformIndexing) ==
(b->shaderStorageBufferArrayNonUniformIndexing))) {
onFail("a->shaderStorageBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageImageArrayNonUniformIndexing) ==
(b->shaderStorageImageArrayNonUniformIndexing))) {
onFail("a->shaderStorageImageArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderInputAttachmentArrayNonUniformIndexing) ==
(b->shaderInputAttachmentArrayNonUniformIndexing))) {
onFail("a->shaderInputAttachmentArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformTexelBufferArrayNonUniformIndexing) ==
(b->shaderUniformTexelBufferArrayNonUniformIndexing))) {
onFail("a->shaderUniformTexelBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageTexelBufferArrayNonUniformIndexing) ==
(b->shaderStorageTexelBufferArrayNonUniformIndexing))) {
onFail("a->shaderStorageTexelBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->descriptorBindingUniformBufferUpdateAfterBind) ==
(b->descriptorBindingUniformBufferUpdateAfterBind))) {
onFail("a->descriptorBindingUniformBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingSampledImageUpdateAfterBind) ==
(b->descriptorBindingSampledImageUpdateAfterBind))) {
onFail("a->descriptorBindingSampledImageUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageImageUpdateAfterBind) ==
(b->descriptorBindingStorageImageUpdateAfterBind))) {
onFail("a->descriptorBindingStorageImageUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageBufferUpdateAfterBind) ==
(b->descriptorBindingStorageBufferUpdateAfterBind))) {
onFail("a->descriptorBindingStorageBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingUniformTexelBufferUpdateAfterBind) ==
(b->descriptorBindingUniformTexelBufferUpdateAfterBind))) {
onFail("a->descriptorBindingUniformTexelBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageTexelBufferUpdateAfterBind) ==
(b->descriptorBindingStorageTexelBufferUpdateAfterBind))) {
onFail("a->descriptorBindingStorageTexelBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingUpdateUnusedWhilePending) ==
(b->descriptorBindingUpdateUnusedWhilePending))) {
onFail("a->descriptorBindingUpdateUnusedWhilePending (Error: Value not equal)");
};
if (!((a->descriptorBindingPartiallyBound) == (b->descriptorBindingPartiallyBound))) {
onFail("a->descriptorBindingPartiallyBound (Error: Value not equal)");
};
if (!((a->descriptorBindingVariableDescriptorCount) ==
(b->descriptorBindingVariableDescriptorCount))) {
onFail("a->descriptorBindingVariableDescriptorCount (Error: Value not equal)");
};
if (!((a->runtimeDescriptorArray) == (b->runtimeDescriptorArray))) {
onFail("a->runtimeDescriptorArray (Error: Value not equal)");
};
if (!((a->samplerFilterMinmax) == (b->samplerFilterMinmax))) {
onFail("a->samplerFilterMinmax (Error: Value not equal)");
};
if (!((a->scalarBlockLayout) == (b->scalarBlockLayout))) {
onFail("a->scalarBlockLayout (Error: Value not equal)");
};
if (!((a->imagelessFramebuffer) == (b->imagelessFramebuffer))) {
onFail("a->imagelessFramebuffer (Error: Value not equal)");
};
if (!((a->uniformBufferStandardLayout) == (b->uniformBufferStandardLayout))) {
onFail("a->uniformBufferStandardLayout (Error: Value not equal)");
};
if (!((a->shaderSubgroupExtendedTypes) == (b->shaderSubgroupExtendedTypes))) {
onFail("a->shaderSubgroupExtendedTypes (Error: Value not equal)");
};
if (!((a->separateDepthStencilLayouts) == (b->separateDepthStencilLayouts))) {
onFail("a->separateDepthStencilLayouts (Error: Value not equal)");
};
if (!((a->hostQueryReset) == (b->hostQueryReset))) {
onFail("a->hostQueryReset (Error: Value not equal)");
};
if (!((a->timelineSemaphore) == (b->timelineSemaphore))) {
onFail("a->timelineSemaphore (Error: Value not equal)");
};
if (!((a->bufferDeviceAddress) == (b->bufferDeviceAddress))) {
onFail("a->bufferDeviceAddress (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressCaptureReplay) == (b->bufferDeviceAddressCaptureReplay))) {
onFail("a->bufferDeviceAddressCaptureReplay (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressMultiDevice) == (b->bufferDeviceAddressMultiDevice))) {
onFail("a->bufferDeviceAddressMultiDevice (Error: Value not equal)");
};
if (!((a->vulkanMemoryModel) == (b->vulkanMemoryModel))) {
onFail("a->vulkanMemoryModel (Error: Value not equal)");
};
if (!((a->vulkanMemoryModelDeviceScope) == (b->vulkanMemoryModelDeviceScope))) {
onFail("a->vulkanMemoryModelDeviceScope (Error: Value not equal)");
};
if (!((a->vulkanMemoryModelAvailabilityVisibilityChains) ==
(b->vulkanMemoryModelAvailabilityVisibilityChains))) {
onFail("a->vulkanMemoryModelAvailabilityVisibilityChains (Error: Value not equal)");
};
if (!((a->shaderOutputViewportIndex) == (b->shaderOutputViewportIndex))) {
onFail("a->shaderOutputViewportIndex (Error: Value not equal)");
};
if (!((a->shaderOutputLayer) == (b->shaderOutputLayer))) {
onFail("a->shaderOutputLayer (Error: Value not equal)");
};
if (!((a->subgroupBroadcastDynamicId) == (b->subgroupBroadcastDynamicId))) {
onFail("a->subgroupBroadcastDynamicId (Error: Value not equal)");
};
}
void checkEqual_VkConformanceVersion(const VkConformanceVersion* a, const VkConformanceVersion* b,
OnFailCompareFunc onFail) {
if (!((a->major) == (b->major))) {
onFail("a->major (Error: Value not equal)");
};
if (!((a->minor) == (b->minor))) {
onFail("a->minor (Error: Value not equal)");
};
if (!((a->subminor) == (b->subminor))) {
onFail("a->subminor (Error: Value not equal)");
};
if (!((a->patch) == (b->patch))) {
onFail("a->patch (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVulkan12Properties(const VkPhysicalDeviceVulkan12Properties* a,
const VkPhysicalDeviceVulkan12Properties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->driverID) == (b->driverID))) {
onFail("a->driverID (Error: Value not equal)");
};
if (!((memcmp(a->driverName, b->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->driverName (Error: Unequal static array)");
};
if (!((memcmp(a->driverInfo, b->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char)) == 0))) {
onFail("a->driverInfo (Error: Unequal static array)");
};
checkEqual_VkConformanceVersion(&a->conformanceVersion, &b->conformanceVersion, onFail);
if (!((a->denormBehaviorIndependence) == (b->denormBehaviorIndependence))) {
onFail("a->denormBehaviorIndependence (Error: Value not equal)");
};
if (!((a->roundingModeIndependence) == (b->roundingModeIndependence))) {
onFail("a->roundingModeIndependence (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat16) ==
(b->shaderSignedZeroInfNanPreserveFloat16))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat16 (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat32) ==
(b->shaderSignedZeroInfNanPreserveFloat32))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat32 (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat64) ==
(b->shaderSignedZeroInfNanPreserveFloat64))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat64 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat16) == (b->shaderDenormPreserveFloat16))) {
onFail("a->shaderDenormPreserveFloat16 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat32) == (b->shaderDenormPreserveFloat32))) {
onFail("a->shaderDenormPreserveFloat32 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat64) == (b->shaderDenormPreserveFloat64))) {
onFail("a->shaderDenormPreserveFloat64 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat16) == (b->shaderDenormFlushToZeroFloat16))) {
onFail("a->shaderDenormFlushToZeroFloat16 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat32) == (b->shaderDenormFlushToZeroFloat32))) {
onFail("a->shaderDenormFlushToZeroFloat32 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat64) == (b->shaderDenormFlushToZeroFloat64))) {
onFail("a->shaderDenormFlushToZeroFloat64 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat16) == (b->shaderRoundingModeRTEFloat16))) {
onFail("a->shaderRoundingModeRTEFloat16 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat32) == (b->shaderRoundingModeRTEFloat32))) {
onFail("a->shaderRoundingModeRTEFloat32 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat64) == (b->shaderRoundingModeRTEFloat64))) {
onFail("a->shaderRoundingModeRTEFloat64 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat16) == (b->shaderRoundingModeRTZFloat16))) {
onFail("a->shaderRoundingModeRTZFloat16 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat32) == (b->shaderRoundingModeRTZFloat32))) {
onFail("a->shaderRoundingModeRTZFloat32 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat64) == (b->shaderRoundingModeRTZFloat64))) {
onFail("a->shaderRoundingModeRTZFloat64 (Error: Value not equal)");
};
if (!((a->maxUpdateAfterBindDescriptorsInAllPools) ==
(b->maxUpdateAfterBindDescriptorsInAllPools))) {
onFail("a->maxUpdateAfterBindDescriptorsInAllPools (Error: Value not equal)");
};
if (!((a->shaderUniformBufferArrayNonUniformIndexingNative) ==
(b->shaderUniformBufferArrayNonUniformIndexingNative))) {
onFail("a->shaderUniformBufferArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderSampledImageArrayNonUniformIndexingNative) ==
(b->shaderSampledImageArrayNonUniformIndexingNative))) {
onFail("a->shaderSampledImageArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderStorageBufferArrayNonUniformIndexingNative) ==
(b->shaderStorageBufferArrayNonUniformIndexingNative))) {
onFail("a->shaderStorageBufferArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderStorageImageArrayNonUniformIndexingNative) ==
(b->shaderStorageImageArrayNonUniformIndexingNative))) {
onFail("a->shaderStorageImageArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderInputAttachmentArrayNonUniformIndexingNative) ==
(b->shaderInputAttachmentArrayNonUniformIndexingNative))) {
onFail("a->shaderInputAttachmentArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->robustBufferAccessUpdateAfterBind) == (b->robustBufferAccessUpdateAfterBind))) {
onFail("a->robustBufferAccessUpdateAfterBind (Error: Value not equal)");
};
if (!((a->quadDivergentImplicitLod) == (b->quadDivergentImplicitLod))) {
onFail("a->quadDivergentImplicitLod (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindSamplers) ==
(b->maxPerStageDescriptorUpdateAfterBindSamplers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindSamplers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindUniformBuffers) ==
(b->maxPerStageDescriptorUpdateAfterBindUniformBuffers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindUniformBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindStorageBuffers) ==
(b->maxPerStageDescriptorUpdateAfterBindStorageBuffers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindStorageBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindSampledImages) ==
(b->maxPerStageDescriptorUpdateAfterBindSampledImages))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindSampledImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindStorageImages) ==
(b->maxPerStageDescriptorUpdateAfterBindStorageImages))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindStorageImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindInputAttachments) ==
(b->maxPerStageDescriptorUpdateAfterBindInputAttachments))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindInputAttachments (Error: Value not equal)");
};
if (!((a->maxPerStageUpdateAfterBindResources) == (b->maxPerStageUpdateAfterBindResources))) {
onFail("a->maxPerStageUpdateAfterBindResources (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindSamplers) ==
(b->maxDescriptorSetUpdateAfterBindSamplers))) {
onFail("a->maxDescriptorSetUpdateAfterBindSamplers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindUniformBuffers) ==
(b->maxDescriptorSetUpdateAfterBindUniformBuffers))) {
onFail("a->maxDescriptorSetUpdateAfterBindUniformBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic) ==
(b->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic))) {
onFail("a->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageBuffers) ==
(b->maxDescriptorSetUpdateAfterBindStorageBuffers))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic) ==
(b->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindSampledImages) ==
(b->maxDescriptorSetUpdateAfterBindSampledImages))) {
onFail("a->maxDescriptorSetUpdateAfterBindSampledImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageImages) ==
(b->maxDescriptorSetUpdateAfterBindStorageImages))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindInputAttachments) ==
(b->maxDescriptorSetUpdateAfterBindInputAttachments))) {
onFail("a->maxDescriptorSetUpdateAfterBindInputAttachments (Error: Value not equal)");
};
if (!((a->supportedDepthResolveModes) == (b->supportedDepthResolveModes))) {
onFail("a->supportedDepthResolveModes (Error: Value not equal)");
};
if (!((a->supportedStencilResolveModes) == (b->supportedStencilResolveModes))) {
onFail("a->supportedStencilResolveModes (Error: Value not equal)");
};
if (!((a->independentResolveNone) == (b->independentResolveNone))) {
onFail("a->independentResolveNone (Error: Value not equal)");
};
if (!((a->independentResolve) == (b->independentResolve))) {
onFail("a->independentResolve (Error: Value not equal)");
};
if (!((a->filterMinmaxSingleComponentFormats) == (b->filterMinmaxSingleComponentFormats))) {
onFail("a->filterMinmaxSingleComponentFormats (Error: Value not equal)");
};
if (!((a->filterMinmaxImageComponentMapping) == (b->filterMinmaxImageComponentMapping))) {
onFail("a->filterMinmaxImageComponentMapping (Error: Value not equal)");
};
if (!((a->maxTimelineSemaphoreValueDifference) == (b->maxTimelineSemaphoreValueDifference))) {
onFail("a->maxTimelineSemaphoreValueDifference (Error: Value not equal)");
};
if (!((a->framebufferIntegerColorSampleCounts) == (b->framebufferIntegerColorSampleCounts))) {
onFail("a->framebufferIntegerColorSampleCounts (Error: Value not equal)");
};
}
void checkEqual_VkImageFormatListCreateInfo(const VkImageFormatListCreateInfo* a,
const VkImageFormatListCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->viewFormatCount) == (b->viewFormatCount))) {
onFail("a->viewFormatCount (Error: Value not equal)");
};
if (!((a->viewFormatCount) == (b->viewFormatCount))) {
onFail("a->pViewFormats (Error: Lengths not equal)");
};
if (!((memcmp(a->pViewFormats, b->pViewFormats, a->viewFormatCount * sizeof(const VkFormat)) ==
0))) {
onFail("a->pViewFormats (Error: Unequal dyn array)");
};
}
void checkEqual_VkAttachmentDescription2(const VkAttachmentDescription2* a,
const VkAttachmentDescription2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->samples) == (b->samples))) {
onFail("a->samples (Error: Value not equal)");
};
if (!((a->loadOp) == (b->loadOp))) {
onFail("a->loadOp (Error: Value not equal)");
};
if (!((a->storeOp) == (b->storeOp))) {
onFail("a->storeOp (Error: Value not equal)");
};
if (!((a->stencilLoadOp) == (b->stencilLoadOp))) {
onFail("a->stencilLoadOp (Error: Value not equal)");
};
if (!((a->stencilStoreOp) == (b->stencilStoreOp))) {
onFail("a->stencilStoreOp (Error: Value not equal)");
};
if (!((a->initialLayout) == (b->initialLayout))) {
onFail("a->initialLayout (Error: Value not equal)");
};
if (!((a->finalLayout) == (b->finalLayout))) {
onFail("a->finalLayout (Error: Value not equal)");
};
}
void checkEqual_VkAttachmentReference2(const VkAttachmentReference2* a,
const VkAttachmentReference2* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->attachment) == (b->attachment))) {
onFail("a->attachment (Error: Value not equal)");
};
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
if (!((a->aspectMask) == (b->aspectMask))) {
onFail("a->aspectMask (Error: Value not equal)");
};
}
void checkEqual_VkSubpassDescription2(const VkSubpassDescription2* a,
const VkSubpassDescription2* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->viewMask) == (b->viewMask))) {
onFail("a->viewMask (Error: Value not equal)");
};
if (!((a->inputAttachmentCount) == (b->inputAttachmentCount))) {
onFail("a->inputAttachmentCount (Error: Value not equal)");
};
if ((a->pInputAttachments) && (b->pInputAttachments)) {
if (!((a->inputAttachmentCount) == (b->inputAttachmentCount))) {
onFail("a->pInputAttachments (Error: Lengths not equal)");
};
if ((a->inputAttachmentCount) == (b->inputAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->inputAttachmentCount; ++i) {
checkEqual_VkAttachmentReference2(a->pInputAttachments + i,
b->pInputAttachments + i, onFail);
}
}
}
}
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if ((a->pColorAttachments) && (b->pColorAttachments)) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachments (Error: Lengths not equal)");
};
if ((a->colorAttachmentCount) == (b->colorAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->colorAttachmentCount; ++i) {
checkEqual_VkAttachmentReference2(a->pColorAttachments + i,
b->pColorAttachments + i, onFail);
}
}
}
}
if (!((!(a->pResolveAttachments) && !(b->pResolveAttachments)) ||
((a->pResolveAttachments) && (b->pResolveAttachments)))) {
onFail("a->pResolveAttachments (Error: Mismatch in optional field)");
};
if (a->pResolveAttachments && b->pResolveAttachments) {
if ((a->pResolveAttachments) && (b->pResolveAttachments)) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pResolveAttachments (Error: Lengths not equal)");
};
if ((a->colorAttachmentCount) == (b->colorAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->colorAttachmentCount; ++i) {
checkEqual_VkAttachmentReference2(a->pResolveAttachments + i,
b->pResolveAttachments + i, onFail);
}
}
}
}
}
if (!((!(a->pDepthStencilAttachment) && !(b->pDepthStencilAttachment)) ||
((a->pDepthStencilAttachment) && (b->pDepthStencilAttachment)))) {
onFail("a->pDepthStencilAttachment (Error: Mismatch in optional field)");
};
if (a->pDepthStencilAttachment && b->pDepthStencilAttachment) {
if ((a->pDepthStencilAttachment) && (b->pDepthStencilAttachment)) {
checkEqual_VkAttachmentReference2(a->pDepthStencilAttachment,
b->pDepthStencilAttachment, onFail);
}
}
if (!((a->preserveAttachmentCount) == (b->preserveAttachmentCount))) {
onFail("a->preserveAttachmentCount (Error: Value not equal)");
};
if (!((a->preserveAttachmentCount) == (b->preserveAttachmentCount))) {
onFail("a->pPreserveAttachments (Error: Lengths not equal)");
};
if (!((memcmp(a->pPreserveAttachments, b->pPreserveAttachments,
a->preserveAttachmentCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pPreserveAttachments (Error: Unequal dyn array)");
};
}
void checkEqual_VkSubpassDependency2(const VkSubpassDependency2* a, const VkSubpassDependency2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcSubpass) == (b->srcSubpass))) {
onFail("a->srcSubpass (Error: Value not equal)");
};
if (!((a->dstSubpass) == (b->dstSubpass))) {
onFail("a->dstSubpass (Error: Value not equal)");
};
if (!((a->srcStageMask) == (b->srcStageMask))) {
onFail("a->srcStageMask (Error: Value not equal)");
};
if (!((a->dstStageMask) == (b->dstStageMask))) {
onFail("a->dstStageMask (Error: Value not equal)");
};
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->dependencyFlags) == (b->dependencyFlags))) {
onFail("a->dependencyFlags (Error: Value not equal)");
};
if (!((a->viewOffset) == (b->viewOffset))) {
onFail("a->viewOffset (Error: Value not equal)");
};
}
void checkEqual_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2* a,
const VkRenderPassCreateInfo2* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if ((a->pAttachments) && (b->pAttachments)) {
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pAttachments (Error: Lengths not equal)");
};
if ((a->attachmentCount) == (b->attachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->attachmentCount; ++i) {
checkEqual_VkAttachmentDescription2(a->pAttachments + i, b->pAttachments + i,
onFail);
}
}
}
}
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->subpassCount (Error: Value not equal)");
};
if ((a->pSubpasses) && (b->pSubpasses)) {
if (!((a->subpassCount) == (b->subpassCount))) {
onFail("a->pSubpasses (Error: Lengths not equal)");
};
if ((a->subpassCount) == (b->subpassCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->subpassCount; ++i) {
checkEqual_VkSubpassDescription2(a->pSubpasses + i, b->pSubpasses + i, onFail);
}
}
}
}
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->dependencyCount (Error: Value not equal)");
};
if ((a->pDependencies) && (b->pDependencies)) {
if (!((a->dependencyCount) == (b->dependencyCount))) {
onFail("a->pDependencies (Error: Lengths not equal)");
};
if ((a->dependencyCount) == (b->dependencyCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->dependencyCount; ++i) {
checkEqual_VkSubpassDependency2(a->pDependencies + i, b->pDependencies + i,
onFail);
}
}
}
}
if (!((a->correlatedViewMaskCount) == (b->correlatedViewMaskCount))) {
onFail("a->correlatedViewMaskCount (Error: Value not equal)");
};
if (!((a->correlatedViewMaskCount) == (b->correlatedViewMaskCount))) {
onFail("a->pCorrelatedViewMasks (Error: Lengths not equal)");
};
if (!((memcmp(a->pCorrelatedViewMasks, b->pCorrelatedViewMasks,
a->correlatedViewMaskCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pCorrelatedViewMasks (Error: Unequal dyn array)");
};
}
void checkEqual_VkSubpassBeginInfo(const VkSubpassBeginInfo* a, const VkSubpassBeginInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->contents) == (b->contents))) {
onFail("a->contents (Error: Value not equal)");
};
}
void checkEqual_VkSubpassEndInfo(const VkSubpassEndInfo* a, const VkSubpassEndInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
}
void checkEqual_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures* a,
const VkPhysicalDevice8BitStorageFeatures* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->storageBuffer8BitAccess) == (b->storageBuffer8BitAccess))) {
onFail("a->storageBuffer8BitAccess (Error: Value not equal)");
};
if (!((a->uniformAndStorageBuffer8BitAccess) == (b->uniformAndStorageBuffer8BitAccess))) {
onFail("a->uniformAndStorageBuffer8BitAccess (Error: Value not equal)");
};
if (!((a->storagePushConstant8) == (b->storagePushConstant8))) {
onFail("a->storagePushConstant8 (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties* a,
const VkPhysicalDeviceDriverProperties* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->driverID) == (b->driverID))) {
onFail("a->driverID (Error: Value not equal)");
};
if (!((memcmp(a->driverName, b->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->driverName (Error: Unequal static array)");
};
if (!((memcmp(a->driverInfo, b->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char)) == 0))) {
onFail("a->driverInfo (Error: Unequal static array)");
};
checkEqual_VkConformanceVersion(&a->conformanceVersion, &b->conformanceVersion, onFail);
}
void checkEqual_VkPhysicalDeviceShaderAtomicInt64Features(
const VkPhysicalDeviceShaderAtomicInt64Features* a,
const VkPhysicalDeviceShaderAtomicInt64Features* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderBufferInt64Atomics) == (b->shaderBufferInt64Atomics))) {
onFail("a->shaderBufferInt64Atomics (Error: Value not equal)");
};
if (!((a->shaderSharedInt64Atomics) == (b->shaderSharedInt64Atomics))) {
onFail("a->shaderSharedInt64Atomics (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShaderFloat16Int8Features(
const VkPhysicalDeviceShaderFloat16Int8Features* a,
const VkPhysicalDeviceShaderFloat16Int8Features* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderFloat16) == (b->shaderFloat16))) {
onFail("a->shaderFloat16 (Error: Value not equal)");
};
if (!((a->shaderInt8) == (b->shaderInt8))) {
onFail("a->shaderInt8 (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFloatControlsProperties(
const VkPhysicalDeviceFloatControlsProperties* a,
const VkPhysicalDeviceFloatControlsProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->denormBehaviorIndependence) == (b->denormBehaviorIndependence))) {
onFail("a->denormBehaviorIndependence (Error: Value not equal)");
};
if (!((a->roundingModeIndependence) == (b->roundingModeIndependence))) {
onFail("a->roundingModeIndependence (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat16) ==
(b->shaderSignedZeroInfNanPreserveFloat16))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat16 (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat32) ==
(b->shaderSignedZeroInfNanPreserveFloat32))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat32 (Error: Value not equal)");
};
if (!((a->shaderSignedZeroInfNanPreserveFloat64) ==
(b->shaderSignedZeroInfNanPreserveFloat64))) {
onFail("a->shaderSignedZeroInfNanPreserveFloat64 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat16) == (b->shaderDenormPreserveFloat16))) {
onFail("a->shaderDenormPreserveFloat16 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat32) == (b->shaderDenormPreserveFloat32))) {
onFail("a->shaderDenormPreserveFloat32 (Error: Value not equal)");
};
if (!((a->shaderDenormPreserveFloat64) == (b->shaderDenormPreserveFloat64))) {
onFail("a->shaderDenormPreserveFloat64 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat16) == (b->shaderDenormFlushToZeroFloat16))) {
onFail("a->shaderDenormFlushToZeroFloat16 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat32) == (b->shaderDenormFlushToZeroFloat32))) {
onFail("a->shaderDenormFlushToZeroFloat32 (Error: Value not equal)");
};
if (!((a->shaderDenormFlushToZeroFloat64) == (b->shaderDenormFlushToZeroFloat64))) {
onFail("a->shaderDenormFlushToZeroFloat64 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat16) == (b->shaderRoundingModeRTEFloat16))) {
onFail("a->shaderRoundingModeRTEFloat16 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat32) == (b->shaderRoundingModeRTEFloat32))) {
onFail("a->shaderRoundingModeRTEFloat32 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTEFloat64) == (b->shaderRoundingModeRTEFloat64))) {
onFail("a->shaderRoundingModeRTEFloat64 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat16) == (b->shaderRoundingModeRTZFloat16))) {
onFail("a->shaderRoundingModeRTZFloat16 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat32) == (b->shaderRoundingModeRTZFloat32))) {
onFail("a->shaderRoundingModeRTZFloat32 (Error: Value not equal)");
};
if (!((a->shaderRoundingModeRTZFloat64) == (b->shaderRoundingModeRTZFloat64))) {
onFail("a->shaderRoundingModeRTZFloat64 (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorSetLayoutBindingFlagsCreateInfo(
const VkDescriptorSetLayoutBindingFlagsCreateInfo* a,
const VkDescriptorSetLayoutBindingFlagsCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->bindingCount) == (b->bindingCount))) {
onFail("a->bindingCount (Error: Value not equal)");
};
if (!((!(a->pBindingFlags) && !(b->pBindingFlags)) ||
((a->pBindingFlags) && (b->pBindingFlags)))) {
onFail("a->pBindingFlags (Error: Mismatch in optional field)");
};
if (a->pBindingFlags && b->pBindingFlags) {
if (!((a->bindingCount) == (b->bindingCount))) {
onFail("a->pBindingFlags (Error: Lengths not equal)");
};
if (!((memcmp(a->pBindingFlags, b->pBindingFlags,
a->bindingCount * sizeof(const VkDescriptorBindingFlags)) == 0))) {
onFail("a->pBindingFlags (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkPhysicalDeviceDescriptorIndexingFeatures(
const VkPhysicalDeviceDescriptorIndexingFeatures* a,
const VkPhysicalDeviceDescriptorIndexingFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderInputAttachmentArrayDynamicIndexing) ==
(b->shaderInputAttachmentArrayDynamicIndexing))) {
onFail("a->shaderInputAttachmentArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformTexelBufferArrayDynamicIndexing) ==
(b->shaderUniformTexelBufferArrayDynamicIndexing))) {
onFail("a->shaderUniformTexelBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageTexelBufferArrayDynamicIndexing) ==
(b->shaderStorageTexelBufferArrayDynamicIndexing))) {
onFail("a->shaderStorageTexelBufferArrayDynamicIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformBufferArrayNonUniformIndexing) ==
(b->shaderUniformBufferArrayNonUniformIndexing))) {
onFail("a->shaderUniformBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderSampledImageArrayNonUniformIndexing) ==
(b->shaderSampledImageArrayNonUniformIndexing))) {
onFail("a->shaderSampledImageArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageBufferArrayNonUniformIndexing) ==
(b->shaderStorageBufferArrayNonUniformIndexing))) {
onFail("a->shaderStorageBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageImageArrayNonUniformIndexing) ==
(b->shaderStorageImageArrayNonUniformIndexing))) {
onFail("a->shaderStorageImageArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderInputAttachmentArrayNonUniformIndexing) ==
(b->shaderInputAttachmentArrayNonUniformIndexing))) {
onFail("a->shaderInputAttachmentArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderUniformTexelBufferArrayNonUniformIndexing) ==
(b->shaderUniformTexelBufferArrayNonUniformIndexing))) {
onFail("a->shaderUniformTexelBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->shaderStorageTexelBufferArrayNonUniformIndexing) ==
(b->shaderStorageTexelBufferArrayNonUniformIndexing))) {
onFail("a->shaderStorageTexelBufferArrayNonUniformIndexing (Error: Value not equal)");
};
if (!((a->descriptorBindingUniformBufferUpdateAfterBind) ==
(b->descriptorBindingUniformBufferUpdateAfterBind))) {
onFail("a->descriptorBindingUniformBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingSampledImageUpdateAfterBind) ==
(b->descriptorBindingSampledImageUpdateAfterBind))) {
onFail("a->descriptorBindingSampledImageUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageImageUpdateAfterBind) ==
(b->descriptorBindingStorageImageUpdateAfterBind))) {
onFail("a->descriptorBindingStorageImageUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageBufferUpdateAfterBind) ==
(b->descriptorBindingStorageBufferUpdateAfterBind))) {
onFail("a->descriptorBindingStorageBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingUniformTexelBufferUpdateAfterBind) ==
(b->descriptorBindingUniformTexelBufferUpdateAfterBind))) {
onFail("a->descriptorBindingUniformTexelBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingStorageTexelBufferUpdateAfterBind) ==
(b->descriptorBindingStorageTexelBufferUpdateAfterBind))) {
onFail("a->descriptorBindingStorageTexelBufferUpdateAfterBind (Error: Value not equal)");
};
if (!((a->descriptorBindingUpdateUnusedWhilePending) ==
(b->descriptorBindingUpdateUnusedWhilePending))) {
onFail("a->descriptorBindingUpdateUnusedWhilePending (Error: Value not equal)");
};
if (!((a->descriptorBindingPartiallyBound) == (b->descriptorBindingPartiallyBound))) {
onFail("a->descriptorBindingPartiallyBound (Error: Value not equal)");
};
if (!((a->descriptorBindingVariableDescriptorCount) ==
(b->descriptorBindingVariableDescriptorCount))) {
onFail("a->descriptorBindingVariableDescriptorCount (Error: Value not equal)");
};
if (!((a->runtimeDescriptorArray) == (b->runtimeDescriptorArray))) {
onFail("a->runtimeDescriptorArray (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceDescriptorIndexingProperties(
const VkPhysicalDeviceDescriptorIndexingProperties* a,
const VkPhysicalDeviceDescriptorIndexingProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxUpdateAfterBindDescriptorsInAllPools) ==
(b->maxUpdateAfterBindDescriptorsInAllPools))) {
onFail("a->maxUpdateAfterBindDescriptorsInAllPools (Error: Value not equal)");
};
if (!((a->shaderUniformBufferArrayNonUniformIndexingNative) ==
(b->shaderUniformBufferArrayNonUniformIndexingNative))) {
onFail("a->shaderUniformBufferArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderSampledImageArrayNonUniformIndexingNative) ==
(b->shaderSampledImageArrayNonUniformIndexingNative))) {
onFail("a->shaderSampledImageArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderStorageBufferArrayNonUniformIndexingNative) ==
(b->shaderStorageBufferArrayNonUniformIndexingNative))) {
onFail("a->shaderStorageBufferArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderStorageImageArrayNonUniformIndexingNative) ==
(b->shaderStorageImageArrayNonUniformIndexingNative))) {
onFail("a->shaderStorageImageArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->shaderInputAttachmentArrayNonUniformIndexingNative) ==
(b->shaderInputAttachmentArrayNonUniformIndexingNative))) {
onFail("a->shaderInputAttachmentArrayNonUniformIndexingNative (Error: Value not equal)");
};
if (!((a->robustBufferAccessUpdateAfterBind) == (b->robustBufferAccessUpdateAfterBind))) {
onFail("a->robustBufferAccessUpdateAfterBind (Error: Value not equal)");
};
if (!((a->quadDivergentImplicitLod) == (b->quadDivergentImplicitLod))) {
onFail("a->quadDivergentImplicitLod (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindSamplers) ==
(b->maxPerStageDescriptorUpdateAfterBindSamplers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindSamplers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindUniformBuffers) ==
(b->maxPerStageDescriptorUpdateAfterBindUniformBuffers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindUniformBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindStorageBuffers) ==
(b->maxPerStageDescriptorUpdateAfterBindStorageBuffers))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindStorageBuffers (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindSampledImages) ==
(b->maxPerStageDescriptorUpdateAfterBindSampledImages))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindSampledImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindStorageImages) ==
(b->maxPerStageDescriptorUpdateAfterBindStorageImages))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindStorageImages (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindInputAttachments) ==
(b->maxPerStageDescriptorUpdateAfterBindInputAttachments))) {
onFail("a->maxPerStageDescriptorUpdateAfterBindInputAttachments (Error: Value not equal)");
};
if (!((a->maxPerStageUpdateAfterBindResources) == (b->maxPerStageUpdateAfterBindResources))) {
onFail("a->maxPerStageUpdateAfterBindResources (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindSamplers) ==
(b->maxDescriptorSetUpdateAfterBindSamplers))) {
onFail("a->maxDescriptorSetUpdateAfterBindSamplers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindUniformBuffers) ==
(b->maxDescriptorSetUpdateAfterBindUniformBuffers))) {
onFail("a->maxDescriptorSetUpdateAfterBindUniformBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic) ==
(b->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic))) {
onFail("a->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageBuffers) ==
(b->maxDescriptorSetUpdateAfterBindStorageBuffers))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageBuffers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic) ==
(b->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindSampledImages) ==
(b->maxDescriptorSetUpdateAfterBindSampledImages))) {
onFail("a->maxDescriptorSetUpdateAfterBindSampledImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindStorageImages) ==
(b->maxDescriptorSetUpdateAfterBindStorageImages))) {
onFail("a->maxDescriptorSetUpdateAfterBindStorageImages (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindInputAttachments) ==
(b->maxDescriptorSetUpdateAfterBindInputAttachments))) {
onFail("a->maxDescriptorSetUpdateAfterBindInputAttachments (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorSetVariableDescriptorCountAllocateInfo(
const VkDescriptorSetVariableDescriptorCountAllocateInfo* a,
const VkDescriptorSetVariableDescriptorCountAllocateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->descriptorSetCount) == (b->descriptorSetCount))) {
onFail("a->descriptorSetCount (Error: Value not equal)");
};
if (!((a->descriptorSetCount) == (b->descriptorSetCount))) {
onFail("a->pDescriptorCounts (Error: Lengths not equal)");
};
if (!((memcmp(a->pDescriptorCounts, b->pDescriptorCounts,
a->descriptorSetCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pDescriptorCounts (Error: Unequal dyn array)");
};
}
void checkEqual_VkDescriptorSetVariableDescriptorCountLayoutSupport(
const VkDescriptorSetVariableDescriptorCountLayoutSupport* a,
const VkDescriptorSetVariableDescriptorCountLayoutSupport* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxVariableDescriptorCount) == (b->maxVariableDescriptorCount))) {
onFail("a->maxVariableDescriptorCount (Error: Value not equal)");
};
}
void checkEqual_VkSubpassDescriptionDepthStencilResolve(
const VkSubpassDescriptionDepthStencilResolve* a,
const VkSubpassDescriptionDepthStencilResolve* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->depthResolveMode) == (b->depthResolveMode))) {
onFail("a->depthResolveMode (Error: Value not equal)");
};
if (!((a->stencilResolveMode) == (b->stencilResolveMode))) {
onFail("a->stencilResolveMode (Error: Value not equal)");
};
if (!((!(a->pDepthStencilResolveAttachment) && !(b->pDepthStencilResolveAttachment)) ||
((a->pDepthStencilResolveAttachment) && (b->pDepthStencilResolveAttachment)))) {
onFail("a->pDepthStencilResolveAttachment (Error: Mismatch in optional field)");
};
if (a->pDepthStencilResolveAttachment && b->pDepthStencilResolveAttachment) {
if ((a->pDepthStencilResolveAttachment) && (b->pDepthStencilResolveAttachment)) {
checkEqual_VkAttachmentReference2(a->pDepthStencilResolveAttachment,
b->pDepthStencilResolveAttachment, onFail);
}
}
}
void checkEqual_VkPhysicalDeviceDepthStencilResolveProperties(
const VkPhysicalDeviceDepthStencilResolveProperties* a,
const VkPhysicalDeviceDepthStencilResolveProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->supportedDepthResolveModes) == (b->supportedDepthResolveModes))) {
onFail("a->supportedDepthResolveModes (Error: Value not equal)");
};
if (!((a->supportedStencilResolveModes) == (b->supportedStencilResolveModes))) {
onFail("a->supportedStencilResolveModes (Error: Value not equal)");
};
if (!((a->independentResolveNone) == (b->independentResolveNone))) {
onFail("a->independentResolveNone (Error: Value not equal)");
};
if (!((a->independentResolve) == (b->independentResolve))) {
onFail("a->independentResolve (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceScalarBlockLayoutFeatures(
const VkPhysicalDeviceScalarBlockLayoutFeatures* a,
const VkPhysicalDeviceScalarBlockLayoutFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->scalarBlockLayout) == (b->scalarBlockLayout))) {
onFail("a->scalarBlockLayout (Error: Value not equal)");
};
}
void checkEqual_VkImageStencilUsageCreateInfo(const VkImageStencilUsageCreateInfo* a,
const VkImageStencilUsageCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stencilUsage) == (b->stencilUsage))) {
onFail("a->stencilUsage (Error: Value not equal)");
};
}
void checkEqual_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo* a,
const VkSamplerReductionModeCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->reductionMode) == (b->reductionMode))) {
onFail("a->reductionMode (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSamplerFilterMinmaxProperties(
const VkPhysicalDeviceSamplerFilterMinmaxProperties* a,
const VkPhysicalDeviceSamplerFilterMinmaxProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->filterMinmaxSingleComponentFormats) == (b->filterMinmaxSingleComponentFormats))) {
onFail("a->filterMinmaxSingleComponentFormats (Error: Value not equal)");
};
if (!((a->filterMinmaxImageComponentMapping) == (b->filterMinmaxImageComponentMapping))) {
onFail("a->filterMinmaxImageComponentMapping (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVulkanMemoryModelFeatures(
const VkPhysicalDeviceVulkanMemoryModelFeatures* a,
const VkPhysicalDeviceVulkanMemoryModelFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vulkanMemoryModel) == (b->vulkanMemoryModel))) {
onFail("a->vulkanMemoryModel (Error: Value not equal)");
};
if (!((a->vulkanMemoryModelDeviceScope) == (b->vulkanMemoryModelDeviceScope))) {
onFail("a->vulkanMemoryModelDeviceScope (Error: Value not equal)");
};
if (!((a->vulkanMemoryModelAvailabilityVisibilityChains) ==
(b->vulkanMemoryModelAvailabilityVisibilityChains))) {
onFail("a->vulkanMemoryModelAvailabilityVisibilityChains (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceImagelessFramebufferFeatures(
const VkPhysicalDeviceImagelessFramebufferFeatures* a,
const VkPhysicalDeviceImagelessFramebufferFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imagelessFramebuffer) == (b->imagelessFramebuffer))) {
onFail("a->imagelessFramebuffer (Error: Value not equal)");
};
}
void checkEqual_VkFramebufferAttachmentImageInfo(const VkFramebufferAttachmentImageInfo* a,
const VkFramebufferAttachmentImageInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
if (!((a->layerCount) == (b->layerCount))) {
onFail("a->layerCount (Error: Value not equal)");
};
if (!((a->viewFormatCount) == (b->viewFormatCount))) {
onFail("a->viewFormatCount (Error: Value not equal)");
};
if (!((a->viewFormatCount) == (b->viewFormatCount))) {
onFail("a->pViewFormats (Error: Lengths not equal)");
};
if (!((memcmp(a->pViewFormats, b->pViewFormats, a->viewFormatCount * sizeof(const VkFormat)) ==
0))) {
onFail("a->pViewFormats (Error: Unequal dyn array)");
};
}
void checkEqual_VkFramebufferAttachmentsCreateInfo(const VkFramebufferAttachmentsCreateInfo* a,
const VkFramebufferAttachmentsCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->attachmentImageInfoCount) == (b->attachmentImageInfoCount))) {
onFail("a->attachmentImageInfoCount (Error: Value not equal)");
};
if ((a->pAttachmentImageInfos) && (b->pAttachmentImageInfos)) {
if (!((a->attachmentImageInfoCount) == (b->attachmentImageInfoCount))) {
onFail("a->pAttachmentImageInfos (Error: Lengths not equal)");
};
if ((a->attachmentImageInfoCount) == (b->attachmentImageInfoCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->attachmentImageInfoCount; ++i) {
checkEqual_VkFramebufferAttachmentImageInfo(
a->pAttachmentImageInfos + i, b->pAttachmentImageInfos + i, onFail);
}
}
}
}
}
void checkEqual_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo* a,
const VkRenderPassAttachmentBeginInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pAttachments (Error: Lengths not equal)");
};
if (!((memcmp(a->pAttachments, b->pAttachments,
a->attachmentCount * sizeof(const VkImageView)) == 0))) {
onFail("a->pAttachments (Error: Unequal dyn array)");
};
}
void checkEqual_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* a,
const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->uniformBufferStandardLayout) == (b->uniformBufferStandardLayout))) {
onFail("a->uniformBufferStandardLayout (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* a,
const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderSubgroupExtendedTypes) == (b->shaderSubgroupExtendedTypes))) {
onFail("a->shaderSubgroupExtendedTypes (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* a,
const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->separateDepthStencilLayouts) == (b->separateDepthStencilLayouts))) {
onFail("a->separateDepthStencilLayouts (Error: Value not equal)");
};
}
void checkEqual_VkAttachmentReferenceStencilLayout(const VkAttachmentReferenceStencilLayout* a,
const VkAttachmentReferenceStencilLayout* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stencilLayout) == (b->stencilLayout))) {
onFail("a->stencilLayout (Error: Value not equal)");
};
}
void checkEqual_VkAttachmentDescriptionStencilLayout(const VkAttachmentDescriptionStencilLayout* a,
const VkAttachmentDescriptionStencilLayout* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stencilInitialLayout) == (b->stencilInitialLayout))) {
onFail("a->stencilInitialLayout (Error: Value not equal)");
};
if (!((a->stencilFinalLayout) == (b->stencilFinalLayout))) {
onFail("a->stencilFinalLayout (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceHostQueryResetFeatures(
const VkPhysicalDeviceHostQueryResetFeatures* a,
const VkPhysicalDeviceHostQueryResetFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->hostQueryReset) == (b->hostQueryReset))) {
onFail("a->hostQueryReset (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceTimelineSemaphoreFeatures(
const VkPhysicalDeviceTimelineSemaphoreFeatures* a,
const VkPhysicalDeviceTimelineSemaphoreFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->timelineSemaphore) == (b->timelineSemaphore))) {
onFail("a->timelineSemaphore (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceTimelineSemaphoreProperties(
const VkPhysicalDeviceTimelineSemaphoreProperties* a,
const VkPhysicalDeviceTimelineSemaphoreProperties* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxTimelineSemaphoreValueDifference) == (b->maxTimelineSemaphoreValueDifference))) {
onFail("a->maxTimelineSemaphoreValueDifference (Error: Value not equal)");
};
}
void checkEqual_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo* a,
const VkSemaphoreTypeCreateInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphoreType) == (b->semaphoreType))) {
onFail("a->semaphoreType (Error: Value not equal)");
};
if (!((a->initialValue) == (b->initialValue))) {
onFail("a->initialValue (Error: Value not equal)");
};
}
void checkEqual_VkTimelineSemaphoreSubmitInfo(const VkTimelineSemaphoreSubmitInfo* a,
const VkTimelineSemaphoreSubmitInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreValueCount) == (b->waitSemaphoreValueCount))) {
onFail("a->waitSemaphoreValueCount (Error: Value not equal)");
};
if (!((!(a->pWaitSemaphoreValues) && !(b->pWaitSemaphoreValues)) ||
((a->pWaitSemaphoreValues) && (b->pWaitSemaphoreValues)))) {
onFail("a->pWaitSemaphoreValues (Error: Mismatch in optional field)");
};
if (a->pWaitSemaphoreValues && b->pWaitSemaphoreValues) {
if (!((a->waitSemaphoreValueCount) == (b->waitSemaphoreValueCount))) {
onFail("a->pWaitSemaphoreValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphoreValues, b->pWaitSemaphoreValues,
a->waitSemaphoreValueCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pWaitSemaphoreValues (Error: Unequal dyn array)");
};
}
if (!((a->signalSemaphoreValueCount) == (b->signalSemaphoreValueCount))) {
onFail("a->signalSemaphoreValueCount (Error: Value not equal)");
};
if (!((!(a->pSignalSemaphoreValues) && !(b->pSignalSemaphoreValues)) ||
((a->pSignalSemaphoreValues) && (b->pSignalSemaphoreValues)))) {
onFail("a->pSignalSemaphoreValues (Error: Mismatch in optional field)");
};
if (a->pSignalSemaphoreValues && b->pSignalSemaphoreValues) {
if (!((a->signalSemaphoreValueCount) == (b->signalSemaphoreValueCount))) {
onFail("a->pSignalSemaphoreValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pSignalSemaphoreValues, b->pSignalSemaphoreValues,
a->signalSemaphoreValueCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pSignalSemaphoreValues (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkSemaphoreWaitInfo(const VkSemaphoreWaitInfo* a, const VkSemaphoreWaitInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->semaphoreCount) == (b->semaphoreCount))) {
onFail("a->semaphoreCount (Error: Value not equal)");
};
if (!((a->semaphoreCount) == (b->semaphoreCount))) {
onFail("a->pSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pSemaphores, b->pSemaphores, a->semaphoreCount * sizeof(const VkSemaphore)) ==
0))) {
onFail("a->pSemaphores (Error: Unequal dyn array)");
};
if (!((a->semaphoreCount) == (b->semaphoreCount))) {
onFail("a->pValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pValues, b->pValues, a->semaphoreCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pValues (Error: Unequal dyn array)");
};
}
void checkEqual_VkSemaphoreSignalInfo(const VkSemaphoreSignalInfo* a,
const VkSemaphoreSignalInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->value) == (b->value))) {
onFail("a->value (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceBufferDeviceAddressFeatures(
const VkPhysicalDeviceBufferDeviceAddressFeatures* a,
const VkPhysicalDeviceBufferDeviceAddressFeatures* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->bufferDeviceAddress) == (b->bufferDeviceAddress))) {
onFail("a->bufferDeviceAddress (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressCaptureReplay) == (b->bufferDeviceAddressCaptureReplay))) {
onFail("a->bufferDeviceAddressCaptureReplay (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressMultiDevice) == (b->bufferDeviceAddressMultiDevice))) {
onFail("a->bufferDeviceAddressMultiDevice (Error: Value not equal)");
};
}
void checkEqual_VkBufferDeviceAddressInfo(const VkBufferDeviceAddressInfo* a,
const VkBufferDeviceAddressInfo* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
}
void checkEqual_VkBufferOpaqueCaptureAddressCreateInfo(
const VkBufferOpaqueCaptureAddressCreateInfo* a,
const VkBufferOpaqueCaptureAddressCreateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->opaqueCaptureAddress) == (b->opaqueCaptureAddress))) {
onFail("a->opaqueCaptureAddress (Error: Value not equal)");
};
}
void checkEqual_VkMemoryOpaqueCaptureAddressAllocateInfo(
const VkMemoryOpaqueCaptureAddressAllocateInfo* a,
const VkMemoryOpaqueCaptureAddressAllocateInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->opaqueCaptureAddress) == (b->opaqueCaptureAddress))) {
onFail("a->opaqueCaptureAddress (Error: Value not equal)");
};
}
void checkEqual_VkDeviceMemoryOpaqueCaptureAddressInfo(
const VkDeviceMemoryOpaqueCaptureAddressInfo* a,
const VkDeviceMemoryOpaqueCaptureAddressInfo* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_surface
void checkEqual_VkSurfaceCapabilitiesKHR(const VkSurfaceCapabilitiesKHR* a,
const VkSurfaceCapabilitiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->minImageCount) == (b->minImageCount))) {
onFail("a->minImageCount (Error: Value not equal)");
};
if (!((a->maxImageCount) == (b->maxImageCount))) {
onFail("a->maxImageCount (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->currentExtent, &b->currentExtent, onFail);
checkEqual_VkExtent2D(&a->minImageExtent, &b->minImageExtent, onFail);
checkEqual_VkExtent2D(&a->maxImageExtent, &b->maxImageExtent, onFail);
if (!((a->maxImageArrayLayers) == (b->maxImageArrayLayers))) {
onFail("a->maxImageArrayLayers (Error: Value not equal)");
};
if (!((a->supportedTransforms) == (b->supportedTransforms))) {
onFail("a->supportedTransforms (Error: Value not equal)");
};
if (!((a->currentTransform) == (b->currentTransform))) {
onFail("a->currentTransform (Error: Value not equal)");
};
if (!((a->supportedCompositeAlpha) == (b->supportedCompositeAlpha))) {
onFail("a->supportedCompositeAlpha (Error: Value not equal)");
};
if (!((a->supportedUsageFlags) == (b->supportedUsageFlags))) {
onFail("a->supportedUsageFlags (Error: Value not equal)");
};
}
void checkEqual_VkSurfaceFormatKHR(const VkSurfaceFormatKHR* a, const VkSurfaceFormatKHR* b,
OnFailCompareFunc onFail) {
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->colorSpace) == (b->colorSpace))) {
onFail("a->colorSpace (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_swapchain
void checkEqual_VkSwapchainCreateInfoKHR(const VkSwapchainCreateInfoKHR* a,
const VkSwapchainCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->surface) == (b->surface))) {
onFail("a->surface (Error: Value not equal)");
};
if (!((a->minImageCount) == (b->minImageCount))) {
onFail("a->minImageCount (Error: Value not equal)");
};
if (!((a->imageFormat) == (b->imageFormat))) {
onFail("a->imageFormat (Error: Value not equal)");
};
if (!((a->imageColorSpace) == (b->imageColorSpace))) {
onFail("a->imageColorSpace (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->imageExtent, &b->imageExtent, onFail);
if (!((a->imageArrayLayers) == (b->imageArrayLayers))) {
onFail("a->imageArrayLayers (Error: Value not equal)");
};
if (!((a->imageUsage) == (b->imageUsage))) {
onFail("a->imageUsage (Error: Value not equal)");
};
if (!((a->imageSharingMode) == (b->imageSharingMode))) {
onFail("a->imageSharingMode (Error: Value not equal)");
};
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->queueFamilyIndexCount (Error: Value not equal)");
};
if (!((!(a->pQueueFamilyIndices) && !(b->pQueueFamilyIndices)) ||
((a->pQueueFamilyIndices) && (b->pQueueFamilyIndices)))) {
onFail("a->pQueueFamilyIndices (Error: Mismatch in optional field)");
};
if (a->pQueueFamilyIndices && b->pQueueFamilyIndices) {
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->pQueueFamilyIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pQueueFamilyIndices, b->pQueueFamilyIndices,
a->queueFamilyIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pQueueFamilyIndices (Error: Unequal dyn array)");
};
}
if (!((a->preTransform) == (b->preTransform))) {
onFail("a->preTransform (Error: Value not equal)");
};
if (!((a->compositeAlpha) == (b->compositeAlpha))) {
onFail("a->compositeAlpha (Error: Value not equal)");
};
if (!((a->presentMode) == (b->presentMode))) {
onFail("a->presentMode (Error: Value not equal)");
};
if (!((a->clipped) == (b->clipped))) {
onFail("a->clipped (Error: Value not equal)");
};
if (!((a->oldSwapchain) == (b->oldSwapchain))) {
onFail("a->oldSwapchain (Error: Value not equal)");
};
}
void checkEqual_VkPresentInfoKHR(const VkPresentInfoKHR* a, const VkPresentInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->waitSemaphoreCount (Error: Value not equal)");
};
if (!((a->waitSemaphoreCount) == (b->waitSemaphoreCount))) {
onFail("a->pWaitSemaphores (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphores, b->pWaitSemaphores,
a->waitSemaphoreCount * sizeof(const VkSemaphore)) == 0))) {
onFail("a->pWaitSemaphores (Error: Unequal dyn array)");
};
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->swapchainCount (Error: Value not equal)");
};
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pSwapchains (Error: Lengths not equal)");
};
if (!((memcmp(a->pSwapchains, b->pSwapchains,
a->swapchainCount * sizeof(const VkSwapchainKHR)) == 0))) {
onFail("a->pSwapchains (Error: Unequal dyn array)");
};
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pImageIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pImageIndices, b->pImageIndices, a->swapchainCount * sizeof(const uint32_t)) ==
0))) {
onFail("a->pImageIndices (Error: Unequal dyn array)");
};
if (!((!(a->pResults) && !(b->pResults)) || ((a->pResults) && (b->pResults)))) {
onFail("a->pResults (Error: Mismatch in optional field)");
};
if (a->pResults && b->pResults) {
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pResults (Error: Lengths not equal)");
};
if (!((memcmp(a->pResults, b->pResults, a->swapchainCount * sizeof(VkResult)) == 0))) {
onFail("a->pResults (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkImageSwapchainCreateInfoKHR(const VkImageSwapchainCreateInfoKHR* a,
const VkImageSwapchainCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchain) == (b->swapchain))) {
onFail("a->swapchain (Error: Value not equal)");
};
}
void checkEqual_VkBindImageMemorySwapchainInfoKHR(const VkBindImageMemorySwapchainInfoKHR* a,
const VkBindImageMemorySwapchainInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchain) == (b->swapchain))) {
onFail("a->swapchain (Error: Value not equal)");
};
if (!((a->imageIndex) == (b->imageIndex))) {
onFail("a->imageIndex (Error: Value not equal)");
};
}
void checkEqual_VkAcquireNextImageInfoKHR(const VkAcquireNextImageInfoKHR* a,
const VkAcquireNextImageInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchain) == (b->swapchain))) {
onFail("a->swapchain (Error: Value not equal)");
};
if (!((a->timeout) == (b->timeout))) {
onFail("a->timeout (Error: Value not equal)");
};
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->fence) == (b->fence))) {
onFail("a->fence (Error: Value not equal)");
};
if (!((a->deviceMask) == (b->deviceMask))) {
onFail("a->deviceMask (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupPresentCapabilitiesKHR(const VkDeviceGroupPresentCapabilitiesKHR* a,
const VkDeviceGroupPresentCapabilitiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->presentMask, b->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t)) ==
0))) {
onFail("a->presentMask (Error: Unequal static array)");
};
if (!((a->modes) == (b->modes))) {
onFail("a->modes (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupPresentInfoKHR(const VkDeviceGroupPresentInfoKHR* a,
const VkDeviceGroupPresentInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->swapchainCount (Error: Value not equal)");
};
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pDeviceMasks (Error: Lengths not equal)");
};
if (!((memcmp(a->pDeviceMasks, b->pDeviceMasks, a->swapchainCount * sizeof(const uint32_t)) ==
0))) {
onFail("a->pDeviceMasks (Error: Unequal dyn array)");
};
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
}
void checkEqual_VkDeviceGroupSwapchainCreateInfoKHR(const VkDeviceGroupSwapchainCreateInfoKHR* a,
const VkDeviceGroupSwapchainCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->modes) == (b->modes))) {
onFail("a->modes (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_display
void checkEqual_VkDisplayModeParametersKHR(const VkDisplayModeParametersKHR* a,
const VkDisplayModeParametersKHR* b,
OnFailCompareFunc onFail) {
checkEqual_VkExtent2D(&a->visibleRegion, &b->visibleRegion, onFail);
if (!((a->refreshRate) == (b->refreshRate))) {
onFail("a->refreshRate (Error: Value not equal)");
};
}
void checkEqual_VkDisplayModeCreateInfoKHR(const VkDisplayModeCreateInfoKHR* a,
const VkDisplayModeCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkDisplayModeParametersKHR(&a->parameters, &b->parameters, onFail);
}
void checkEqual_VkDisplayModePropertiesKHR(const VkDisplayModePropertiesKHR* a,
const VkDisplayModePropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->displayMode) == (b->displayMode))) {
onFail("a->displayMode (Error: Value not equal)");
};
checkEqual_VkDisplayModeParametersKHR(&a->parameters, &b->parameters, onFail);
}
void checkEqual_VkDisplayPlaneCapabilitiesKHR(const VkDisplayPlaneCapabilitiesKHR* a,
const VkDisplayPlaneCapabilitiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->supportedAlpha) == (b->supportedAlpha))) {
onFail("a->supportedAlpha (Error: Value not equal)");
};
checkEqual_VkOffset2D(&a->minSrcPosition, &b->minSrcPosition, onFail);
checkEqual_VkOffset2D(&a->maxSrcPosition, &b->maxSrcPosition, onFail);
checkEqual_VkExtent2D(&a->minSrcExtent, &b->minSrcExtent, onFail);
checkEqual_VkExtent2D(&a->maxSrcExtent, &b->maxSrcExtent, onFail);
checkEqual_VkOffset2D(&a->minDstPosition, &b->minDstPosition, onFail);
checkEqual_VkOffset2D(&a->maxDstPosition, &b->maxDstPosition, onFail);
checkEqual_VkExtent2D(&a->minDstExtent, &b->minDstExtent, onFail);
checkEqual_VkExtent2D(&a->maxDstExtent, &b->maxDstExtent, onFail);
}
void checkEqual_VkDisplayPlanePropertiesKHR(const VkDisplayPlanePropertiesKHR* a,
const VkDisplayPlanePropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->currentDisplay) == (b->currentDisplay))) {
onFail("a->currentDisplay (Error: Value not equal)");
};
if (!((a->currentStackIndex) == (b->currentStackIndex))) {
onFail("a->currentStackIndex (Error: Value not equal)");
};
}
void checkEqual_VkDisplayPropertiesKHR(const VkDisplayPropertiesKHR* a,
const VkDisplayPropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->display) == (b->display))) {
onFail("a->display (Error: Value not equal)");
};
if (!((!(a->displayName) && !(b->displayName)) || ((a->displayName) && (b->displayName)))) {
onFail("a->displayName (Error: Mismatch in string pointer nullness)");
};
if ((a->displayName) && (b->displayName)) {
if (!((strcmp(a->displayName, b->displayName) == 0))) {
onFail("a->displayName (Error: Unequal strings)");
};
}
checkEqual_VkExtent2D(&a->physicalDimensions, &b->physicalDimensions, onFail);
checkEqual_VkExtent2D(&a->physicalResolution, &b->physicalResolution, onFail);
if (!((a->supportedTransforms) == (b->supportedTransforms))) {
onFail("a->supportedTransforms (Error: Value not equal)");
};
if (!((a->planeReorderPossible) == (b->planeReorderPossible))) {
onFail("a->planeReorderPossible (Error: Value not equal)");
};
if (!((a->persistentContent) == (b->persistentContent))) {
onFail("a->persistentContent (Error: Value not equal)");
};
}
void checkEqual_VkDisplaySurfaceCreateInfoKHR(const VkDisplaySurfaceCreateInfoKHR* a,
const VkDisplaySurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->displayMode) == (b->displayMode))) {
onFail("a->displayMode (Error: Value not equal)");
};
if (!((a->planeIndex) == (b->planeIndex))) {
onFail("a->planeIndex (Error: Value not equal)");
};
if (!((a->planeStackIndex) == (b->planeStackIndex))) {
onFail("a->planeStackIndex (Error: Value not equal)");
};
if (!((a->transform) == (b->transform))) {
onFail("a->transform (Error: Value not equal)");
};
if (!((a->globalAlpha) == (b->globalAlpha))) {
onFail("a->globalAlpha (Error: Value not equal)");
};
if (!((a->alphaMode) == (b->alphaMode))) {
onFail("a->alphaMode (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->imageExtent, &b->imageExtent, onFail);
}
#endif
#ifdef VK_KHR_display_swapchain
void checkEqual_VkDisplayPresentInfoKHR(const VkDisplayPresentInfoKHR* a,
const VkDisplayPresentInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkRect2D(&a->srcRect, &b->srcRect, onFail);
checkEqual_VkRect2D(&a->dstRect, &b->dstRect, onFail);
if (!((a->persistent) == (b->persistent))) {
onFail("a->persistent (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_xlib_surface
void checkEqual_VkXlibSurfaceCreateInfoKHR(const VkXlibSurfaceCreateInfoKHR* a,
const VkXlibSurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->dpy) && !(b->dpy)) || ((a->dpy) && (b->dpy)))) {
onFail("a->dpy (Error: Mismatch in optional field)");
};
if (a->dpy && b->dpy) {
if (!((memcmp(a->dpy, b->dpy, sizeof(Display)) == 0))) {
onFail("a->dpy (Error: Unequal dyn array)");
};
}
if (!((a->window) == (b->window))) {
onFail("a->window (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_xcb_surface
void checkEqual_VkXcbSurfaceCreateInfoKHR(const VkXcbSurfaceCreateInfoKHR* a,
const VkXcbSurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->connection) && !(b->connection)) || ((a->connection) && (b->connection)))) {
onFail("a->connection (Error: Mismatch in optional field)");
};
if (a->connection && b->connection) {
if (!((memcmp(a->connection, b->connection, sizeof(xcb_connection_t)) == 0))) {
onFail("a->connection (Error: Unequal dyn array)");
};
}
if (!((a->window) == (b->window))) {
onFail("a->window (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_wayland_surface
void checkEqual_VkWaylandSurfaceCreateInfoKHR(const VkWaylandSurfaceCreateInfoKHR* a,
const VkWaylandSurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->display) && !(b->display)) || ((a->display) && (b->display)))) {
onFail("a->display (Error: Mismatch in optional field)");
};
if (a->display && b->display) {
if (!((memcmp(a->display, b->display, sizeof(wl_display)) == 0))) {
onFail("a->display (Error: Unequal dyn array)");
};
}
if (!((!(a->surface) && !(b->surface)) || ((a->surface) && (b->surface)))) {
onFail("a->surface (Error: Mismatch in optional field)");
};
if (a->surface && b->surface) {
if (!((memcmp(a->surface, b->surface, sizeof(wl_surface)) == 0))) {
onFail("a->surface (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_KHR_android_surface
void checkEqual_VkAndroidSurfaceCreateInfoKHR(const VkAndroidSurfaceCreateInfoKHR* a,
const VkAndroidSurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->window) && !(b->window)) || ((a->window) && (b->window)))) {
onFail("a->window (Error: Mismatch in optional field)");
};
if (a->window && b->window) {
if (!((memcmp(a->window, b->window, sizeof(ANativeWindow)) == 0))) {
onFail("a->window (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_KHR_win32_surface
void checkEqual_VkWin32SurfaceCreateInfoKHR(const VkWin32SurfaceCreateInfoKHR* a,
const VkWin32SurfaceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->hinstance) == (b->hinstance))) {
onFail("a->hinstance (Error: Value not equal)");
};
if (!((a->hwnd) == (b->hwnd))) {
onFail("a->hwnd (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_sampler_mirror_clamp_to_edge
#endif
#ifdef VK_KHR_video_queue
void checkEqual_VkVideoQueueFamilyProperties2KHR(const VkVideoQueueFamilyProperties2KHR* a,
const VkVideoQueueFamilyProperties2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->videoCodecOperations) == (b->videoCodecOperations))) {
onFail("a->videoCodecOperations (Error: Value not equal)");
};
}
void checkEqual_VkVideoProfileKHR(const VkVideoProfileKHR* a, const VkVideoProfileKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->videoCodecOperation) == (b->videoCodecOperation))) {
onFail("a->videoCodecOperation (Error: Value not equal)");
};
if (!((a->chromaSubsampling) == (b->chromaSubsampling))) {
onFail("a->chromaSubsampling (Error: Value not equal)");
};
if (!((a->lumaBitDepth) == (b->lumaBitDepth))) {
onFail("a->lumaBitDepth (Error: Value not equal)");
};
if (!((a->chromaBitDepth) == (b->chromaBitDepth))) {
onFail("a->chromaBitDepth (Error: Value not equal)");
};
}
void checkEqual_VkVideoProfilesKHR(const VkVideoProfilesKHR* a, const VkVideoProfilesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->profileCount) == (b->profileCount))) {
onFail("a->profileCount (Error: Value not equal)");
};
if ((a->pProfiles) && (b->pProfiles)) {
checkEqual_VkVideoProfileKHR(a->pProfiles, b->pProfiles, onFail);
}
}
void checkEqual_VkVideoCapabilitiesKHR(const VkVideoCapabilitiesKHR* a,
const VkVideoCapabilitiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->capabilityFlags) == (b->capabilityFlags))) {
onFail("a->capabilityFlags (Error: Value not equal)");
};
if (!((a->minBitstreamBufferOffsetAlignment) == (b->minBitstreamBufferOffsetAlignment))) {
onFail("a->minBitstreamBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minBitstreamBufferSizeAlignment) == (b->minBitstreamBufferSizeAlignment))) {
onFail("a->minBitstreamBufferSizeAlignment (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->videoPictureExtentGranularity, &b->videoPictureExtentGranularity,
onFail);
checkEqual_VkExtent2D(&a->minExtent, &b->minExtent, onFail);
checkEqual_VkExtent2D(&a->maxExtent, &b->maxExtent, onFail);
if (!((a->maxReferencePicturesSlotsCount) == (b->maxReferencePicturesSlotsCount))) {
onFail("a->maxReferencePicturesSlotsCount (Error: Value not equal)");
};
if (!((a->maxReferencePicturesActiveCount) == (b->maxReferencePicturesActiveCount))) {
onFail("a->maxReferencePicturesActiveCount (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceVideoFormatInfoKHR(const VkPhysicalDeviceVideoFormatInfoKHR* a,
const VkPhysicalDeviceVideoFormatInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageUsage) == (b->imageUsage))) {
onFail("a->imageUsage (Error: Value not equal)");
};
if ((a->pVideoProfiles) && (b->pVideoProfiles)) {
checkEqual_VkVideoProfilesKHR(a->pVideoProfiles, b->pVideoProfiles, onFail);
}
}
void checkEqual_VkVideoFormatPropertiesKHR(const VkVideoFormatPropertiesKHR* a,
const VkVideoFormatPropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
}
void checkEqual_VkVideoPictureResourceKHR(const VkVideoPictureResourceKHR* a,
const VkVideoPictureResourceKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkOffset2D(&a->codedOffset, &b->codedOffset, onFail);
checkEqual_VkExtent2D(&a->codedExtent, &b->codedExtent, onFail);
if (!((a->baseArrayLayer) == (b->baseArrayLayer))) {
onFail("a->baseArrayLayer (Error: Value not equal)");
};
if (!((a->imageViewBinding) == (b->imageViewBinding))) {
onFail("a->imageViewBinding (Error: Value not equal)");
};
}
void checkEqual_VkVideoReferenceSlotKHR(const VkVideoReferenceSlotKHR* a,
const VkVideoReferenceSlotKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->slotIndex) == (b->slotIndex))) {
onFail("a->slotIndex (Error: Value not equal)");
};
if ((a->pPictureResource) && (b->pPictureResource)) {
checkEqual_VkVideoPictureResourceKHR(a->pPictureResource, b->pPictureResource, onFail);
}
}
void checkEqual_VkVideoGetMemoryPropertiesKHR(const VkVideoGetMemoryPropertiesKHR* a,
const VkVideoGetMemoryPropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryBindIndex) == (b->memoryBindIndex))) {
onFail("a->memoryBindIndex (Error: Value not equal)");
};
if ((a->pMemoryRequirements) && (b->pMemoryRequirements)) {
checkEqual_VkMemoryRequirements2(a->pMemoryRequirements, b->pMemoryRequirements, onFail);
}
}
void checkEqual_VkVideoBindMemoryKHR(const VkVideoBindMemoryKHR* a, const VkVideoBindMemoryKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryBindIndex) == (b->memoryBindIndex))) {
onFail("a->memoryBindIndex (Error: Value not equal)");
};
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
if (!((a->memorySize) == (b->memorySize))) {
onFail("a->memorySize (Error: Value not equal)");
};
}
void checkEqual_VkVideoSessionCreateInfoKHR(const VkVideoSessionCreateInfoKHR* a,
const VkVideoSessionCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->queueFamilyIndex) == (b->queueFamilyIndex))) {
onFail("a->queueFamilyIndex (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if ((a->pVideoProfile) && (b->pVideoProfile)) {
checkEqual_VkVideoProfileKHR(a->pVideoProfile, b->pVideoProfile, onFail);
}
if (!((a->pictureFormat) == (b->pictureFormat))) {
onFail("a->pictureFormat (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->maxCodedExtent, &b->maxCodedExtent, onFail);
if (!((a->referencePicturesFormat) == (b->referencePicturesFormat))) {
onFail("a->referencePicturesFormat (Error: Value not equal)");
};
if (!((a->maxReferencePicturesSlotsCount) == (b->maxReferencePicturesSlotsCount))) {
onFail("a->maxReferencePicturesSlotsCount (Error: Value not equal)");
};
if (!((a->maxReferencePicturesActiveCount) == (b->maxReferencePicturesActiveCount))) {
onFail("a->maxReferencePicturesActiveCount (Error: Value not equal)");
};
}
void checkEqual_VkVideoSessionParametersCreateInfoKHR(
const VkVideoSessionParametersCreateInfoKHR* a, const VkVideoSessionParametersCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->videoSessionParametersTemplate) == (b->videoSessionParametersTemplate))) {
onFail("a->videoSessionParametersTemplate (Error: Value not equal)");
};
if (!((a->videoSession) == (b->videoSession))) {
onFail("a->videoSession (Error: Value not equal)");
};
}
void checkEqual_VkVideoSessionParametersUpdateInfoKHR(
const VkVideoSessionParametersUpdateInfoKHR* a, const VkVideoSessionParametersUpdateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->updateSequenceCount) == (b->updateSequenceCount))) {
onFail("a->updateSequenceCount (Error: Value not equal)");
};
}
void checkEqual_VkVideoBeginCodingInfoKHR(const VkVideoBeginCodingInfoKHR* a,
const VkVideoBeginCodingInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->codecQualityPreset) == (b->codecQualityPreset))) {
onFail("a->codecQualityPreset (Error: Value not equal)");
};
if (!((a->videoSession) == (b->videoSession))) {
onFail("a->videoSession (Error: Value not equal)");
};
if (!((a->videoSessionParameters) == (b->videoSessionParameters))) {
onFail("a->videoSessionParameters (Error: Value not equal)");
};
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->referenceSlotCount (Error: Value not equal)");
};
if ((a->pReferenceSlots) && (b->pReferenceSlots)) {
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->pReferenceSlots (Error: Lengths not equal)");
};
if ((a->referenceSlotCount) == (b->referenceSlotCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->referenceSlotCount; ++i) {
checkEqual_VkVideoReferenceSlotKHR(a->pReferenceSlots + i,
b->pReferenceSlots + i, onFail);
}
}
}
}
}
void checkEqual_VkVideoEndCodingInfoKHR(const VkVideoEndCodingInfoKHR* a,
const VkVideoEndCodingInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkVideoCodingControlInfoKHR(const VkVideoCodingControlInfoKHR* a,
const VkVideoCodingControlInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_video_decode_queue
void checkEqual_VkVideoDecodeInfoKHR(const VkVideoDecodeInfoKHR* a, const VkVideoDecodeInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkOffset2D(&a->codedOffset, &b->codedOffset, onFail);
checkEqual_VkExtent2D(&a->codedExtent, &b->codedExtent, onFail);
if (!((a->srcBuffer) == (b->srcBuffer))) {
onFail("a->srcBuffer (Error: Value not equal)");
};
if (!((a->srcBufferOffset) == (b->srcBufferOffset))) {
onFail("a->srcBufferOffset (Error: Value not equal)");
};
if (!((a->srcBufferRange) == (b->srcBufferRange))) {
onFail("a->srcBufferRange (Error: Value not equal)");
};
checkEqual_VkVideoPictureResourceKHR(&a->dstPictureResource, &b->dstPictureResource, onFail);
if ((a->pSetupReferenceSlot) && (b->pSetupReferenceSlot)) {
checkEqual_VkVideoReferenceSlotKHR(a->pSetupReferenceSlot, b->pSetupReferenceSlot, onFail);
}
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->referenceSlotCount (Error: Value not equal)");
};
if ((a->pReferenceSlots) && (b->pReferenceSlots)) {
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->pReferenceSlots (Error: Lengths not equal)");
};
if ((a->referenceSlotCount) == (b->referenceSlotCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->referenceSlotCount; ++i) {
checkEqual_VkVideoReferenceSlotKHR(a->pReferenceSlots + i,
b->pReferenceSlots + i, onFail);
}
}
}
}
}
#endif
#ifdef VK_KHR_dynamic_rendering
void checkEqual_VkRenderingAttachmentInfoKHR(const VkRenderingAttachmentInfoKHR* a,
const VkRenderingAttachmentInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageView) == (b->imageView))) {
onFail("a->imageView (Error: Value not equal)");
};
if (!((a->imageLayout) == (b->imageLayout))) {
onFail("a->imageLayout (Error: Value not equal)");
};
if (!((a->resolveMode) == (b->resolveMode))) {
onFail("a->resolveMode (Error: Value not equal)");
};
if (!((a->resolveImageView) == (b->resolveImageView))) {
onFail("a->resolveImageView (Error: Value not equal)");
};
if (!((a->resolveImageLayout) == (b->resolveImageLayout))) {
onFail("a->resolveImageLayout (Error: Value not equal)");
};
if (!((a->loadOp) == (b->loadOp))) {
onFail("a->loadOp (Error: Value not equal)");
};
if (!((a->storeOp) == (b->storeOp))) {
onFail("a->storeOp (Error: Value not equal)");
};
checkEqual_VkClearValue(&a->clearValue, &b->clearValue, onFail);
}
void checkEqual_VkRenderingInfoKHR(const VkRenderingInfoKHR* a, const VkRenderingInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkRect2D(&a->renderArea, &b->renderArea, onFail);
if (!((a->layerCount) == (b->layerCount))) {
onFail("a->layerCount (Error: Value not equal)");
};
if (!((a->viewMask) == (b->viewMask))) {
onFail("a->viewMask (Error: Value not equal)");
};
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if ((a->pColorAttachments) && (b->pColorAttachments)) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachments (Error: Lengths not equal)");
};
if ((a->colorAttachmentCount) == (b->colorAttachmentCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->colorAttachmentCount; ++i) {
checkEqual_VkRenderingAttachmentInfoKHR(a->pColorAttachments + i,
b->pColorAttachments + i, onFail);
}
}
}
}
if (!((!(a->pDepthAttachment) && !(b->pDepthAttachment)) ||
((a->pDepthAttachment) && (b->pDepthAttachment)))) {
onFail("a->pDepthAttachment (Error: Mismatch in optional field)");
};
if (a->pDepthAttachment && b->pDepthAttachment) {
if ((a->pDepthAttachment) && (b->pDepthAttachment)) {
checkEqual_VkRenderingAttachmentInfoKHR(a->pDepthAttachment, b->pDepthAttachment,
onFail);
}
}
if (!((!(a->pStencilAttachment) && !(b->pStencilAttachment)) ||
((a->pStencilAttachment) && (b->pStencilAttachment)))) {
onFail("a->pStencilAttachment (Error: Mismatch in optional field)");
};
if (a->pStencilAttachment && b->pStencilAttachment) {
if ((a->pStencilAttachment) && (b->pStencilAttachment)) {
checkEqual_VkRenderingAttachmentInfoKHR(a->pStencilAttachment, b->pStencilAttachment,
onFail);
}
}
}
void checkEqual_VkPipelineRenderingCreateInfoKHR(const VkPipelineRenderingCreateInfoKHR* a,
const VkPipelineRenderingCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->viewMask) == (b->viewMask))) {
onFail("a->viewMask (Error: Value not equal)");
};
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachmentFormats (Error: Lengths not equal)");
};
if (!((memcmp(a->pColorAttachmentFormats, b->pColorAttachmentFormats,
a->colorAttachmentCount * sizeof(const VkFormat)) == 0))) {
onFail("a->pColorAttachmentFormats (Error: Unequal dyn array)");
};
if (!((a->depthAttachmentFormat) == (b->depthAttachmentFormat))) {
onFail("a->depthAttachmentFormat (Error: Value not equal)");
};
if (!((a->stencilAttachmentFormat) == (b->stencilAttachmentFormat))) {
onFail("a->stencilAttachmentFormat (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceDynamicRenderingFeaturesKHR(
const VkPhysicalDeviceDynamicRenderingFeaturesKHR* a,
const VkPhysicalDeviceDynamicRenderingFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dynamicRendering) == (b->dynamicRendering))) {
onFail("a->dynamicRendering (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferInheritanceRenderingInfoKHR(
const VkCommandBufferInheritanceRenderingInfoKHR* a,
const VkCommandBufferInheritanceRenderingInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->viewMask) == (b->viewMask))) {
onFail("a->viewMask (Error: Value not equal)");
};
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachmentFormats (Error: Lengths not equal)");
};
if (!((memcmp(a->pColorAttachmentFormats, b->pColorAttachmentFormats,
a->colorAttachmentCount * sizeof(const VkFormat)) == 0))) {
onFail("a->pColorAttachmentFormats (Error: Unequal dyn array)");
};
if (!((a->depthAttachmentFormat) == (b->depthAttachmentFormat))) {
onFail("a->depthAttachmentFormat (Error: Value not equal)");
};
if (!((a->stencilAttachmentFormat) == (b->stencilAttachmentFormat))) {
onFail("a->stencilAttachmentFormat (Error: Value not equal)");
};
if (!((a->rasterizationSamples) == (b->rasterizationSamples))) {
onFail("a->rasterizationSamples (Error: Value not equal)");
};
}
void checkEqual_VkRenderingFragmentShadingRateAttachmentInfoKHR(
const VkRenderingFragmentShadingRateAttachmentInfoKHR* a,
const VkRenderingFragmentShadingRateAttachmentInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageView) == (b->imageView))) {
onFail("a->imageView (Error: Value not equal)");
};
if (!((a->imageLayout) == (b->imageLayout))) {
onFail("a->imageLayout (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->shadingRateAttachmentTexelSize, &b->shadingRateAttachmentTexelSize,
onFail);
}
void checkEqual_VkRenderingFragmentDensityMapAttachmentInfoEXT(
const VkRenderingFragmentDensityMapAttachmentInfoEXT* a,
const VkRenderingFragmentDensityMapAttachmentInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageView) == (b->imageView))) {
onFail("a->imageView (Error: Value not equal)");
};
if (!((a->imageLayout) == (b->imageLayout))) {
onFail("a->imageLayout (Error: Value not equal)");
};
}
void checkEqual_VkAttachmentSampleCountInfoAMD(const VkAttachmentSampleCountInfoAMD* a,
const VkAttachmentSampleCountInfoAMD* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->colorAttachmentCount (Error: Value not equal)");
};
if (!((!(a->pColorAttachmentSamples) && !(b->pColorAttachmentSamples)) ||
((a->pColorAttachmentSamples) && (b->pColorAttachmentSamples)))) {
onFail("a->pColorAttachmentSamples (Error: Mismatch in optional field)");
};
if (a->pColorAttachmentSamples && b->pColorAttachmentSamples) {
if (!((a->colorAttachmentCount) == (b->colorAttachmentCount))) {
onFail("a->pColorAttachmentSamples (Error: Lengths not equal)");
};
if (!((memcmp(a->pColorAttachmentSamples, b->pColorAttachmentSamples,
a->colorAttachmentCount * sizeof(const VkSampleCountFlagBits)) == 0))) {
onFail("a->pColorAttachmentSamples (Error: Unequal dyn array)");
};
}
if (!((a->depthStencilAttachmentSamples) == (b->depthStencilAttachmentSamples))) {
onFail("a->depthStencilAttachmentSamples (Error: Value not equal)");
};
}
void checkEqual_VkMultiviewPerViewAttributesInfoNVX(const VkMultiviewPerViewAttributesInfoNVX* a,
const VkMultiviewPerViewAttributesInfoNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->perViewAttributes) == (b->perViewAttributes))) {
onFail("a->perViewAttributes (Error: Value not equal)");
};
if (!((a->perViewAttributesPositionXOnly) == (b->perViewAttributesPositionXOnly))) {
onFail("a->perViewAttributesPositionXOnly (Error: Value not equal)");
};
}
#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 checkEqual_VkImportMemoryWin32HandleInfoKHR(const VkImportMemoryWin32HandleInfoKHR* a,
const VkImportMemoryWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->handle) == (b->handle))) {
onFail("a->handle (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkExportMemoryWin32HandleInfoKHR(const VkExportMemoryWin32HandleInfoKHR* a,
const VkExportMemoryWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pAttributes) && !(b->pAttributes)) || ((a->pAttributes) && (b->pAttributes)))) {
onFail("a->pAttributes (Error: Mismatch in optional field)");
};
if (a->pAttributes && b->pAttributes) {
if (!((memcmp(a->pAttributes, b->pAttributes, sizeof(const SECURITY_ATTRIBUTES)) == 0))) {
onFail("a->pAttributes (Error: Unequal dyn array)");
};
}
if (!((a->dwAccess) == (b->dwAccess))) {
onFail("a->dwAccess (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkMemoryWin32HandlePropertiesKHR(const VkMemoryWin32HandlePropertiesKHR* a,
const VkMemoryWin32HandlePropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkMemoryGetWin32HandleInfoKHR(const VkMemoryGetWin32HandleInfoKHR* a,
const VkMemoryGetWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_external_memory_fd
void checkEqual_VkImportMemoryFdInfoKHR(const VkImportMemoryFdInfoKHR* a,
const VkImportMemoryFdInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->fd) == (b->fd))) {
onFail("a->fd (Error: Value not equal)");
};
}
void checkEqual_VkMemoryFdPropertiesKHR(const VkMemoryFdPropertiesKHR* a,
const VkMemoryFdPropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkMemoryGetFdInfoKHR(const VkMemoryGetFdInfoKHR* a, const VkMemoryGetFdInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
void checkEqual_VkWin32KeyedMutexAcquireReleaseInfoKHR(
const VkWin32KeyedMutexAcquireReleaseInfoKHR* a,
const VkWin32KeyedMutexAcquireReleaseInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->acquireCount (Error: Value not equal)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireSyncs (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireSyncs, b->pAcquireSyncs,
a->acquireCount * sizeof(const VkDeviceMemory)) == 0))) {
onFail("a->pAcquireSyncs (Error: Unequal dyn array)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireKeys (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireKeys, b->pAcquireKeys, a->acquireCount * sizeof(const uint64_t)) ==
0))) {
onFail("a->pAcquireKeys (Error: Unequal dyn array)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireTimeouts (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireTimeouts, b->pAcquireTimeouts,
a->acquireCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pAcquireTimeouts (Error: Unequal dyn array)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->releaseCount (Error: Value not equal)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->pReleaseSyncs (Error: Lengths not equal)");
};
if (!((memcmp(a->pReleaseSyncs, b->pReleaseSyncs,
a->releaseCount * sizeof(const VkDeviceMemory)) == 0))) {
onFail("a->pReleaseSyncs (Error: Unequal dyn array)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->pReleaseKeys (Error: Lengths not equal)");
};
if (!((memcmp(a->pReleaseKeys, b->pReleaseKeys, a->releaseCount * sizeof(const uint64_t)) ==
0))) {
onFail("a->pReleaseKeys (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
#endif
#ifdef VK_KHR_external_semaphore
#endif
#ifdef VK_KHR_external_semaphore_win32
void checkEqual_VkImportSemaphoreWin32HandleInfoKHR(const VkImportSemaphoreWin32HandleInfoKHR* a,
const VkImportSemaphoreWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->handle) == (b->handle))) {
onFail("a->handle (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkExportSemaphoreWin32HandleInfoKHR(const VkExportSemaphoreWin32HandleInfoKHR* a,
const VkExportSemaphoreWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pAttributes) && !(b->pAttributes)) || ((a->pAttributes) && (b->pAttributes)))) {
onFail("a->pAttributes (Error: Mismatch in optional field)");
};
if (a->pAttributes && b->pAttributes) {
if (!((memcmp(a->pAttributes, b->pAttributes, sizeof(const SECURITY_ATTRIBUTES)) == 0))) {
onFail("a->pAttributes (Error: Unequal dyn array)");
};
}
if (!((a->dwAccess) == (b->dwAccess))) {
onFail("a->dwAccess (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkD3D12FenceSubmitInfoKHR(const VkD3D12FenceSubmitInfoKHR* a,
const VkD3D12FenceSubmitInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->waitSemaphoreValuesCount) == (b->waitSemaphoreValuesCount))) {
onFail("a->waitSemaphoreValuesCount (Error: Value not equal)");
};
if (!((!(a->pWaitSemaphoreValues) && !(b->pWaitSemaphoreValues)) ||
((a->pWaitSemaphoreValues) && (b->pWaitSemaphoreValues)))) {
onFail("a->pWaitSemaphoreValues (Error: Mismatch in optional field)");
};
if (a->pWaitSemaphoreValues && b->pWaitSemaphoreValues) {
if (!((a->waitSemaphoreValuesCount) == (b->waitSemaphoreValuesCount))) {
onFail("a->pWaitSemaphoreValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pWaitSemaphoreValues, b->pWaitSemaphoreValues,
a->waitSemaphoreValuesCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pWaitSemaphoreValues (Error: Unequal dyn array)");
};
}
if (!((a->signalSemaphoreValuesCount) == (b->signalSemaphoreValuesCount))) {
onFail("a->signalSemaphoreValuesCount (Error: Value not equal)");
};
if (!((!(a->pSignalSemaphoreValues) && !(b->pSignalSemaphoreValues)) ||
((a->pSignalSemaphoreValues) && (b->pSignalSemaphoreValues)))) {
onFail("a->pSignalSemaphoreValues (Error: Mismatch in optional field)");
};
if (a->pSignalSemaphoreValues && b->pSignalSemaphoreValues) {
if (!((a->signalSemaphoreValuesCount) == (b->signalSemaphoreValuesCount))) {
onFail("a->pSignalSemaphoreValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pSignalSemaphoreValues, b->pSignalSemaphoreValues,
a->signalSemaphoreValuesCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pSignalSemaphoreValues (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkSemaphoreGetWin32HandleInfoKHR(const VkSemaphoreGetWin32HandleInfoKHR* a,
const VkSemaphoreGetWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_external_semaphore_fd
void checkEqual_VkImportSemaphoreFdInfoKHR(const VkImportSemaphoreFdInfoKHR* a,
const VkImportSemaphoreFdInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->fd) == (b->fd))) {
onFail("a->fd (Error: Value not equal)");
};
}
void checkEqual_VkSemaphoreGetFdInfoKHR(const VkSemaphoreGetFdInfoKHR* a,
const VkSemaphoreGetFdInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_push_descriptor
void checkEqual_VkPhysicalDevicePushDescriptorPropertiesKHR(
const VkPhysicalDevicePushDescriptorPropertiesKHR* a,
const VkPhysicalDevicePushDescriptorPropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxPushDescriptors) == (b->maxPushDescriptors))) {
onFail("a->maxPushDescriptors (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_shader_float16_int8
#endif
#ifdef VK_KHR_16bit_storage
#endif
#ifdef VK_KHR_incremental_present
void checkEqual_VkRectLayerKHR(const VkRectLayerKHR* a, const VkRectLayerKHR* b,
OnFailCompareFunc onFail) {
checkEqual_VkOffset2D(&a->offset, &b->offset, onFail);
checkEqual_VkExtent2D(&a->extent, &b->extent, onFail);
if (!((a->layer) == (b->layer))) {
onFail("a->layer (Error: Value not equal)");
};
}
void checkEqual_VkPresentRegionKHR(const VkPresentRegionKHR* a, const VkPresentRegionKHR* b,
OnFailCompareFunc onFail) {
if (!((a->rectangleCount) == (b->rectangleCount))) {
onFail("a->rectangleCount (Error: Value not equal)");
};
if (!((!(a->pRectangles) && !(b->pRectangles)) || ((a->pRectangles) && (b->pRectangles)))) {
onFail("a->pRectangles (Error: Mismatch in optional field)");
};
if (a->pRectangles && b->pRectangles) {
if ((a->pRectangles) && (b->pRectangles)) {
if (!((a->rectangleCount) == (b->rectangleCount))) {
onFail("a->pRectangles (Error: Lengths not equal)");
};
if ((a->rectangleCount) == (b->rectangleCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->rectangleCount; ++i) {
checkEqual_VkRectLayerKHR(a->pRectangles + i, b->pRectangles + i, onFail);
}
}
}
}
}
}
void checkEqual_VkPresentRegionsKHR(const VkPresentRegionsKHR* a, const VkPresentRegionsKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->swapchainCount (Error: Value not equal)");
};
if (!((!(a->pRegions) && !(b->pRegions)) || ((a->pRegions) && (b->pRegions)))) {
onFail("a->pRegions (Error: Mismatch in optional field)");
};
if (a->pRegions && b->pRegions) {
if ((a->pRegions) && (b->pRegions)) {
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->swapchainCount) == (b->swapchainCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->swapchainCount; ++i) {
checkEqual_VkPresentRegionKHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
}
#endif
#ifdef VK_KHR_descriptor_update_template
#endif
#ifdef VK_KHR_imageless_framebuffer
#endif
#ifdef VK_KHR_create_renderpass2
#endif
#ifdef VK_KHR_shared_presentable_image
void checkEqual_VkSharedPresentSurfaceCapabilitiesKHR(
const VkSharedPresentSurfaceCapabilitiesKHR* a, const VkSharedPresentSurfaceCapabilitiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sharedPresentSupportedUsageFlags) == (b->sharedPresentSupportedUsageFlags))) {
onFail("a->sharedPresentSupportedUsageFlags (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_external_fence_capabilities
#endif
#ifdef VK_KHR_external_fence
#endif
#ifdef VK_KHR_external_fence_win32
void checkEqual_VkImportFenceWin32HandleInfoKHR(const VkImportFenceWin32HandleInfoKHR* a,
const VkImportFenceWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fence) == (b->fence))) {
onFail("a->fence (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->handle) == (b->handle))) {
onFail("a->handle (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkExportFenceWin32HandleInfoKHR(const VkExportFenceWin32HandleInfoKHR* a,
const VkExportFenceWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pAttributes) && !(b->pAttributes)) || ((a->pAttributes) && (b->pAttributes)))) {
onFail("a->pAttributes (Error: Mismatch in optional field)");
};
if (a->pAttributes && b->pAttributes) {
if (!((memcmp(a->pAttributes, b->pAttributes, sizeof(const SECURITY_ATTRIBUTES)) == 0))) {
onFail("a->pAttributes (Error: Unequal dyn array)");
};
}
if (!((a->dwAccess) == (b->dwAccess))) {
onFail("a->dwAccess (Error: Value not equal)");
};
if (!((a->name) == (b->name))) {
onFail("a->name (Error: Value not equal)");
};
}
void checkEqual_VkFenceGetWin32HandleInfoKHR(const VkFenceGetWin32HandleInfoKHR* a,
const VkFenceGetWin32HandleInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fence) == (b->fence))) {
onFail("a->fence (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_external_fence_fd
void checkEqual_VkImportFenceFdInfoKHR(const VkImportFenceFdInfoKHR* a,
const VkImportFenceFdInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fence) == (b->fence))) {
onFail("a->fence (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->fd) == (b->fd))) {
onFail("a->fd (Error: Value not equal)");
};
}
void checkEqual_VkFenceGetFdInfoKHR(const VkFenceGetFdInfoKHR* a, const VkFenceGetFdInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fence) == (b->fence))) {
onFail("a->fence (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_performance_query
void checkEqual_VkPhysicalDevicePerformanceQueryFeaturesKHR(
const VkPhysicalDevicePerformanceQueryFeaturesKHR* a,
const VkPhysicalDevicePerformanceQueryFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->performanceCounterQueryPools) == (b->performanceCounterQueryPools))) {
onFail("a->performanceCounterQueryPools (Error: Value not equal)");
};
if (!((a->performanceCounterMultipleQueryPools) == (b->performanceCounterMultipleQueryPools))) {
onFail("a->performanceCounterMultipleQueryPools (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDevicePerformanceQueryPropertiesKHR(
const VkPhysicalDevicePerformanceQueryPropertiesKHR* a,
const VkPhysicalDevicePerformanceQueryPropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->allowCommandBufferQueryCopies) == (b->allowCommandBufferQueryCopies))) {
onFail("a->allowCommandBufferQueryCopies (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceCounterKHR(const VkPerformanceCounterKHR* a,
const VkPerformanceCounterKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->unit) == (b->unit))) {
onFail("a->unit (Error: Value not equal)");
};
if (!((a->scope) == (b->scope))) {
onFail("a->scope (Error: Value not equal)");
};
if (!((a->storage) == (b->storage))) {
onFail("a->storage (Error: Value not equal)");
};
if (!((memcmp(a->uuid, b->uuid, VK_UUID_SIZE * sizeof(uint8_t)) == 0))) {
onFail("a->uuid (Error: Unequal static array)");
};
}
void checkEqual_VkPerformanceCounterDescriptionKHR(const VkPerformanceCounterDescriptionKHR* a,
const VkPerformanceCounterDescriptionKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((memcmp(a->name, b->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->name (Error: Unequal static array)");
};
if (!((memcmp(a->category, b->category, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->category (Error: Unequal static array)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
}
void checkEqual_VkQueryPoolPerformanceCreateInfoKHR(const VkQueryPoolPerformanceCreateInfoKHR* a,
const VkQueryPoolPerformanceCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->queueFamilyIndex) == (b->queueFamilyIndex))) {
onFail("a->queueFamilyIndex (Error: Value not equal)");
};
if (!((a->counterIndexCount) == (b->counterIndexCount))) {
onFail("a->counterIndexCount (Error: Value not equal)");
};
if (!((a->counterIndexCount) == (b->counterIndexCount))) {
onFail("a->pCounterIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pCounterIndices, b->pCounterIndices,
a->counterIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pCounterIndices (Error: Unequal dyn array)");
};
}
void checkEqual_VkPerformanceCounterResultKHR(const VkPerformanceCounterResultKHR* a,
const VkPerformanceCounterResultKHR* b,
OnFailCompareFunc onFail) {
if (!((a->int32) == (b->int32))) {
onFail("a->int32 (Error: Value not equal)");
};
if (!((a->int64) == (b->int64))) {
onFail("a->int64 (Error: Value not equal)");
};
if (!((a->uint32) == (b->uint32))) {
onFail("a->uint32 (Error: Value not equal)");
};
if (!((a->uint64) == (b->uint64))) {
onFail("a->uint64 (Error: Value not equal)");
};
if (!((a->float32) == (b->float32))) {
onFail("a->float32 (Error: Value not equal)");
};
if (!((a->float64) == (b->float64))) {
onFail("a->float64 (Error: Value not equal)");
};
}
void checkEqual_VkAcquireProfilingLockInfoKHR(const VkAcquireProfilingLockInfoKHR* a,
const VkAcquireProfilingLockInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->timeout) == (b->timeout))) {
onFail("a->timeout (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceQuerySubmitInfoKHR(const VkPerformanceQuerySubmitInfoKHR* a,
const VkPerformanceQuerySubmitInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->counterPassIndex) == (b->counterPassIndex))) {
onFail("a->counterPassIndex (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_maintenance2
#endif
#ifdef VK_KHR_get_surface_capabilities2
void checkEqual_VkPhysicalDeviceSurfaceInfo2KHR(const VkPhysicalDeviceSurfaceInfo2KHR* a,
const VkPhysicalDeviceSurfaceInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->surface) == (b->surface))) {
onFail("a->surface (Error: Value not equal)");
};
}
void checkEqual_VkSurfaceCapabilities2KHR(const VkSurfaceCapabilities2KHR* a,
const VkSurfaceCapabilities2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkSurfaceCapabilitiesKHR(&a->surfaceCapabilities, &b->surfaceCapabilities, onFail);
}
void checkEqual_VkSurfaceFormat2KHR(const VkSurfaceFormat2KHR* a, const VkSurfaceFormat2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkSurfaceFormatKHR(&a->surfaceFormat, &b->surfaceFormat, onFail);
}
#endif
#ifdef VK_KHR_variable_pointers
#endif
#ifdef VK_KHR_get_display_properties2
void checkEqual_VkDisplayProperties2KHR(const VkDisplayProperties2KHR* a,
const VkDisplayProperties2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDisplayPropertiesKHR(&a->displayProperties, &b->displayProperties, onFail);
}
void checkEqual_VkDisplayPlaneProperties2KHR(const VkDisplayPlaneProperties2KHR* a,
const VkDisplayPlaneProperties2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDisplayPlanePropertiesKHR(&a->displayPlaneProperties, &b->displayPlaneProperties,
onFail);
}
void checkEqual_VkDisplayModeProperties2KHR(const VkDisplayModeProperties2KHR* a,
const VkDisplayModeProperties2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDisplayModePropertiesKHR(&a->displayModeProperties, &b->displayModeProperties,
onFail);
}
void checkEqual_VkDisplayPlaneInfo2KHR(const VkDisplayPlaneInfo2KHR* a,
const VkDisplayPlaneInfo2KHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
if (!((a->planeIndex) == (b->planeIndex))) {
onFail("a->planeIndex (Error: Value not equal)");
};
}
void checkEqual_VkDisplayPlaneCapabilities2KHR(const VkDisplayPlaneCapabilities2KHR* a,
const VkDisplayPlaneCapabilities2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDisplayPlaneCapabilitiesKHR(&a->capabilities, &b->capabilities, onFail);
}
#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
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
#endif
#ifdef VK_KHR_bind_memory2
#endif
#ifdef VK_KHR_portability_subset
void checkEqual_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
const VkPhysicalDevicePortabilitySubsetFeaturesKHR* a,
const VkPhysicalDevicePortabilitySubsetFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->constantAlphaColorBlendFactors) == (b->constantAlphaColorBlendFactors))) {
onFail("a->constantAlphaColorBlendFactors (Error: Value not equal)");
};
if (!((a->events) == (b->events))) {
onFail("a->events (Error: Value not equal)");
};
if (!((a->imageViewFormatReinterpretation) == (b->imageViewFormatReinterpretation))) {
onFail("a->imageViewFormatReinterpretation (Error: Value not equal)");
};
if (!((a->imageViewFormatSwizzle) == (b->imageViewFormatSwizzle))) {
onFail("a->imageViewFormatSwizzle (Error: Value not equal)");
};
if (!((a->imageView2DOn3DImage) == (b->imageView2DOn3DImage))) {
onFail("a->imageView2DOn3DImage (Error: Value not equal)");
};
if (!((a->multisampleArrayImage) == (b->multisampleArrayImage))) {
onFail("a->multisampleArrayImage (Error: Value not equal)");
};
if (!((a->mutableComparisonSamplers) == (b->mutableComparisonSamplers))) {
onFail("a->mutableComparisonSamplers (Error: Value not equal)");
};
if (!((a->pointPolygons) == (b->pointPolygons))) {
onFail("a->pointPolygons (Error: Value not equal)");
};
if (!((a->samplerMipLodBias) == (b->samplerMipLodBias))) {
onFail("a->samplerMipLodBias (Error: Value not equal)");
};
if (!((a->separateStencilMaskRef) == (b->separateStencilMaskRef))) {
onFail("a->separateStencilMaskRef (Error: Value not equal)");
};
if (!((a->shaderSampleRateInterpolationFunctions) ==
(b->shaderSampleRateInterpolationFunctions))) {
onFail("a->shaderSampleRateInterpolationFunctions (Error: Value not equal)");
};
if (!((a->tessellationIsolines) == (b->tessellationIsolines))) {
onFail("a->tessellationIsolines (Error: Value not equal)");
};
if (!((a->tessellationPointMode) == (b->tessellationPointMode))) {
onFail("a->tessellationPointMode (Error: Value not equal)");
};
if (!((a->triangleFans) == (b->triangleFans))) {
onFail("a->triangleFans (Error: Value not equal)");
};
if (!((a->vertexAttributeAccessBeyondStride) == (b->vertexAttributeAccessBeyondStride))) {
onFail("a->vertexAttributeAccessBeyondStride (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
const VkPhysicalDevicePortabilitySubsetPropertiesKHR* a,
const VkPhysicalDevicePortabilitySubsetPropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->minVertexInputBindingStrideAlignment) == (b->minVertexInputBindingStrideAlignment))) {
onFail("a->minVertexInputBindingStrideAlignment (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_maintenance3
#endif
#ifdef VK_KHR_draw_indirect_count
#endif
#ifdef VK_KHR_shader_subgroup_extended_types
#endif
#ifdef VK_KHR_8bit_storage
#endif
#ifdef VK_KHR_shader_atomic_int64
#endif
#ifdef VK_KHR_shader_clock
void checkEqual_VkPhysicalDeviceShaderClockFeaturesKHR(
const VkPhysicalDeviceShaderClockFeaturesKHR* a,
const VkPhysicalDeviceShaderClockFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderSubgroupClock) == (b->shaderSubgroupClock))) {
onFail("a->shaderSubgroupClock (Error: Value not equal)");
};
if (!((a->shaderDeviceClock) == (b->shaderDeviceClock))) {
onFail("a->shaderDeviceClock (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_driver_properties
#endif
#ifdef VK_KHR_shader_float_controls
#endif
#ifdef VK_KHR_depth_stencil_resolve
#endif
#ifdef VK_KHR_swapchain_mutable_format
#endif
#ifdef VK_KHR_timeline_semaphore
#endif
#ifdef VK_KHR_vulkan_memory_model
#endif
#ifdef VK_KHR_shader_terminate_invocation
void checkEqual_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR(
const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* a,
const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderTerminateInvocation) == (b->shaderTerminateInvocation))) {
onFail("a->shaderTerminateInvocation (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_fragment_shading_rate
void checkEqual_VkFragmentShadingRateAttachmentInfoKHR(
const VkFragmentShadingRateAttachmentInfoKHR* a,
const VkFragmentShadingRateAttachmentInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pFragmentShadingRateAttachment) && !(b->pFragmentShadingRateAttachment)) ||
((a->pFragmentShadingRateAttachment) && (b->pFragmentShadingRateAttachment)))) {
onFail("a->pFragmentShadingRateAttachment (Error: Mismatch in optional field)");
};
if (a->pFragmentShadingRateAttachment && b->pFragmentShadingRateAttachment) {
if ((a->pFragmentShadingRateAttachment) && (b->pFragmentShadingRateAttachment)) {
checkEqual_VkAttachmentReference2(a->pFragmentShadingRateAttachment,
b->pFragmentShadingRateAttachment, onFail);
}
}
checkEqual_VkExtent2D(&a->shadingRateAttachmentTexelSize, &b->shadingRateAttachmentTexelSize,
onFail);
}
void checkEqual_VkPipelineFragmentShadingRateStateCreateInfoKHR(
const VkPipelineFragmentShadingRateStateCreateInfoKHR* a,
const VkPipelineFragmentShadingRateStateCreateInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExtent2D(&a->fragmentSize, &b->fragmentSize, onFail);
if (!((memcmp(a->combinerOps, b->combinerOps, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR)) ==
0))) {
onFail("a->combinerOps (Error: Unequal static array)");
};
}
void checkEqual_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR* a,
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipelineFragmentShadingRate) == (b->pipelineFragmentShadingRate))) {
onFail("a->pipelineFragmentShadingRate (Error: Value not equal)");
};
if (!((a->primitiveFragmentShadingRate) == (b->primitiveFragmentShadingRate))) {
onFail("a->primitiveFragmentShadingRate (Error: Value not equal)");
};
if (!((a->attachmentFragmentShadingRate) == (b->attachmentFragmentShadingRate))) {
onFail("a->attachmentFragmentShadingRate (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
const VkPhysicalDeviceFragmentShadingRatePropertiesKHR* a,
const VkPhysicalDeviceFragmentShadingRatePropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExtent2D(&a->minFragmentShadingRateAttachmentTexelSize,
&b->minFragmentShadingRateAttachmentTexelSize, onFail);
checkEqual_VkExtent2D(&a->maxFragmentShadingRateAttachmentTexelSize,
&b->maxFragmentShadingRateAttachmentTexelSize, onFail);
if (!((a->maxFragmentShadingRateAttachmentTexelSizeAspectRatio) ==
(b->maxFragmentShadingRateAttachmentTexelSizeAspectRatio))) {
onFail("a->maxFragmentShadingRateAttachmentTexelSizeAspectRatio (Error: Value not equal)");
};
if (!((a->primitiveFragmentShadingRateWithMultipleViewports) ==
(b->primitiveFragmentShadingRateWithMultipleViewports))) {
onFail("a->primitiveFragmentShadingRateWithMultipleViewports (Error: Value not equal)");
};
if (!((a->layeredShadingRateAttachments) == (b->layeredShadingRateAttachments))) {
onFail("a->layeredShadingRateAttachments (Error: Value not equal)");
};
if (!((a->fragmentShadingRateNonTrivialCombinerOps) ==
(b->fragmentShadingRateNonTrivialCombinerOps))) {
onFail("a->fragmentShadingRateNonTrivialCombinerOps (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->maxFragmentSize, &b->maxFragmentSize, onFail);
if (!((a->maxFragmentSizeAspectRatio) == (b->maxFragmentSizeAspectRatio))) {
onFail("a->maxFragmentSizeAspectRatio (Error: Value not equal)");
};
if (!((a->maxFragmentShadingRateCoverageSamples) ==
(b->maxFragmentShadingRateCoverageSamples))) {
onFail("a->maxFragmentShadingRateCoverageSamples (Error: Value not equal)");
};
if (!((a->maxFragmentShadingRateRasterizationSamples) ==
(b->maxFragmentShadingRateRasterizationSamples))) {
onFail("a->maxFragmentShadingRateRasterizationSamples (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithShaderDepthStencilWrites) ==
(b->fragmentShadingRateWithShaderDepthStencilWrites))) {
onFail("a->fragmentShadingRateWithShaderDepthStencilWrites (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithSampleMask) == (b->fragmentShadingRateWithSampleMask))) {
onFail("a->fragmentShadingRateWithSampleMask (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithShaderSampleMask) ==
(b->fragmentShadingRateWithShaderSampleMask))) {
onFail("a->fragmentShadingRateWithShaderSampleMask (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithConservativeRasterization) ==
(b->fragmentShadingRateWithConservativeRasterization))) {
onFail("a->fragmentShadingRateWithConservativeRasterization (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithFragmentShaderInterlock) ==
(b->fragmentShadingRateWithFragmentShaderInterlock))) {
onFail("a->fragmentShadingRateWithFragmentShaderInterlock (Error: Value not equal)");
};
if (!((a->fragmentShadingRateWithCustomSampleLocations) ==
(b->fragmentShadingRateWithCustomSampleLocations))) {
onFail("a->fragmentShadingRateWithCustomSampleLocations (Error: Value not equal)");
};
if (!((a->fragmentShadingRateStrictMultiplyCombiner) ==
(b->fragmentShadingRateStrictMultiplyCombiner))) {
onFail("a->fragmentShadingRateStrictMultiplyCombiner (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFragmentShadingRateKHR(
const VkPhysicalDeviceFragmentShadingRateKHR* a,
const VkPhysicalDeviceFragmentShadingRateKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sampleCounts) == (b->sampleCounts))) {
onFail("a->sampleCounts (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->fragmentSize, &b->fragmentSize, onFail);
}
#endif
#ifdef VK_KHR_spirv_1_4
#endif
#ifdef VK_KHR_surface_protected_capabilities
void checkEqual_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* a,
const VkSurfaceProtectedCapabilitiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->supportsProtected) == (b->supportsProtected))) {
onFail("a->supportsProtected (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_separate_depth_stencil_layouts
#endif
#ifdef VK_KHR_present_wait
void checkEqual_VkPhysicalDevicePresentWaitFeaturesKHR(
const VkPhysicalDevicePresentWaitFeaturesKHR* a,
const VkPhysicalDevicePresentWaitFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->presentWait) == (b->presentWait))) {
onFail("a->presentWait (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_uniform_buffer_standard_layout
#endif
#ifdef VK_KHR_buffer_device_address
#endif
#ifdef VK_KHR_deferred_host_operations
#endif
#ifdef VK_KHR_pipeline_executable_properties
void checkEqual_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* a,
const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipelineExecutableInfo) == (b->pipelineExecutableInfo))) {
onFail("a->pipelineExecutableInfo (Error: Value not equal)");
};
}
void checkEqual_VkPipelineInfoKHR(const VkPipelineInfoKHR* a, const VkPipelineInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipeline) == (b->pipeline))) {
onFail("a->pipeline (Error: Value not equal)");
};
}
void checkEqual_VkPipelineExecutablePropertiesKHR(const VkPipelineExecutablePropertiesKHR* a,
const VkPipelineExecutablePropertiesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stages) == (b->stages))) {
onFail("a->stages (Error: Value not equal)");
};
if (!((memcmp(a->name, b->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->name (Error: Unequal static array)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
if (!((a->subgroupSize) == (b->subgroupSize))) {
onFail("a->subgroupSize (Error: Value not equal)");
};
}
void checkEqual_VkPipelineExecutableInfoKHR(const VkPipelineExecutableInfoKHR* a,
const VkPipelineExecutableInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipeline) == (b->pipeline))) {
onFail("a->pipeline (Error: Value not equal)");
};
if (!((a->executableIndex) == (b->executableIndex))) {
onFail("a->executableIndex (Error: Value not equal)");
};
}
void checkEqual_VkPipelineExecutableStatisticValueKHR(
const VkPipelineExecutableStatisticValueKHR* a, const VkPipelineExecutableStatisticValueKHR* b,
OnFailCompareFunc onFail) {
if (!((a->b32) == (b->b32))) {
onFail("a->b32 (Error: Value not equal)");
};
if (!((a->i64) == (b->i64))) {
onFail("a->i64 (Error: Value not equal)");
};
if (!((a->u64) == (b->u64))) {
onFail("a->u64 (Error: Value not equal)");
};
if (!((a->f64) == (b->f64))) {
onFail("a->f64 (Error: Value not equal)");
};
}
void checkEqual_VkPipelineExecutableStatisticKHR(const VkPipelineExecutableStatisticKHR* a,
const VkPipelineExecutableStatisticKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->name, b->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->name (Error: Unequal static array)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
checkEqual_VkPipelineExecutableStatisticValueKHR(&a->value, &b->value, onFail);
}
void checkEqual_VkPipelineExecutableInternalRepresentationKHR(
const VkPipelineExecutableInternalRepresentationKHR* a,
const VkPipelineExecutableInternalRepresentationKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->name, b->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->name (Error: Unequal static array)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
if (!((a->isText) == (b->isText))) {
onFail("a->isText (Error: Value not equal)");
};
if (!((a->dataSize) == (b->dataSize))) {
onFail("a->dataSize (Error: Value not equal)");
};
if (!((!(a->pData) && !(b->pData)) || ((a->pData) && (b->pData)))) {
onFail("a->pData (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_KHR_shader_integer_dot_product
void checkEqual_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR(
const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* a,
const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderIntegerDotProduct) == (b->shaderIntegerDotProduct))) {
onFail("a->shaderIntegerDotProduct (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR(
const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* a,
const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->integerDotProduct8BitUnsignedAccelerated) ==
(b->integerDotProduct8BitUnsignedAccelerated))) {
onFail("a->integerDotProduct8BitUnsignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct8BitSignedAccelerated) ==
(b->integerDotProduct8BitSignedAccelerated))) {
onFail("a->integerDotProduct8BitSignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct8BitMixedSignednessAccelerated) ==
(b->integerDotProduct8BitMixedSignednessAccelerated))) {
onFail("a->integerDotProduct8BitMixedSignednessAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct4x8BitPackedUnsignedAccelerated) ==
(b->integerDotProduct4x8BitPackedUnsignedAccelerated))) {
onFail("a->integerDotProduct4x8BitPackedUnsignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct4x8BitPackedSignedAccelerated) ==
(b->integerDotProduct4x8BitPackedSignedAccelerated))) {
onFail("a->integerDotProduct4x8BitPackedSignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct4x8BitPackedMixedSignednessAccelerated) ==
(b->integerDotProduct4x8BitPackedMixedSignednessAccelerated))) {
onFail(
"a->integerDotProduct4x8BitPackedMixedSignednessAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct16BitUnsignedAccelerated) ==
(b->integerDotProduct16BitUnsignedAccelerated))) {
onFail("a->integerDotProduct16BitUnsignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct16BitSignedAccelerated) ==
(b->integerDotProduct16BitSignedAccelerated))) {
onFail("a->integerDotProduct16BitSignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct16BitMixedSignednessAccelerated) ==
(b->integerDotProduct16BitMixedSignednessAccelerated))) {
onFail("a->integerDotProduct16BitMixedSignednessAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct32BitUnsignedAccelerated) ==
(b->integerDotProduct32BitUnsignedAccelerated))) {
onFail("a->integerDotProduct32BitUnsignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct32BitSignedAccelerated) ==
(b->integerDotProduct32BitSignedAccelerated))) {
onFail("a->integerDotProduct32BitSignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct32BitMixedSignednessAccelerated) ==
(b->integerDotProduct32BitMixedSignednessAccelerated))) {
onFail("a->integerDotProduct32BitMixedSignednessAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct64BitUnsignedAccelerated) ==
(b->integerDotProduct64BitUnsignedAccelerated))) {
onFail("a->integerDotProduct64BitUnsignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct64BitSignedAccelerated) ==
(b->integerDotProduct64BitSignedAccelerated))) {
onFail("a->integerDotProduct64BitSignedAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProduct64BitMixedSignednessAccelerated) ==
(b->integerDotProduct64BitMixedSignednessAccelerated))) {
onFail("a->integerDotProduct64BitMixedSignednessAccelerated (Error: Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating8BitSignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating8BitSignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating8BitSignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated) ==
(b->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated (Error: "
"Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated (Error: "
"Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated (Error: Value "
"not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated) ==
(b->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated "
"(Error: Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating16BitSignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating16BitSignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating16BitSignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated) ==
(b->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated (Error: "
"Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating32BitSignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating32BitSignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating32BitSignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated) ==
(b->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated (Error: "
"Value not equal)");
};
if (!((a->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating64BitSignedAccelerated) ==
(b->integerDotProductAccumulatingSaturating64BitSignedAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating64BitSignedAccelerated (Error: Value not "
"equal)");
};
if (!((a->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated) ==
(b->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated))) {
onFail(
"a->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated (Error: "
"Value not equal)");
};
}
#endif
#ifdef VK_KHR_pipeline_library
void checkEqual_VkPipelineLibraryCreateInfoKHR(const VkPipelineLibraryCreateInfoKHR* a,
const VkPipelineLibraryCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->libraryCount) == (b->libraryCount))) {
onFail("a->libraryCount (Error: Value not equal)");
};
if (!((a->libraryCount) == (b->libraryCount))) {
onFail("a->pLibraries (Error: Lengths not equal)");
};
if (!((memcmp(a->pLibraries, b->pLibraries, a->libraryCount * sizeof(const VkPipeline)) ==
0))) {
onFail("a->pLibraries (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_KHR_shader_non_semantic_info
#endif
#ifdef VK_KHR_present_id
void checkEqual_VkPresentIdKHR(const VkPresentIdKHR* a, const VkPresentIdKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->swapchainCount (Error: Value not equal)");
};
if (!((!(a->pPresentIds) && !(b->pPresentIds)) || ((a->pPresentIds) && (b->pPresentIds)))) {
onFail("a->pPresentIds (Error: Mismatch in optional field)");
};
if (a->pPresentIds && b->pPresentIds) {
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pPresentIds (Error: Lengths not equal)");
};
if (!((memcmp(a->pPresentIds, b->pPresentIds, a->swapchainCount * sizeof(const uint64_t)) ==
0))) {
onFail("a->pPresentIds (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkPhysicalDevicePresentIdFeaturesKHR(const VkPhysicalDevicePresentIdFeaturesKHR* a,
const VkPhysicalDevicePresentIdFeaturesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->presentId) == (b->presentId))) {
onFail("a->presentId (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_video_encode_queue
void checkEqual_VkVideoEncodeInfoKHR(const VkVideoEncodeInfoKHR* a, const VkVideoEncodeInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->qualityLevel) == (b->qualityLevel))) {
onFail("a->qualityLevel (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->codedExtent, &b->codedExtent, onFail);
if (!((a->dstBitstreamBuffer) == (b->dstBitstreamBuffer))) {
onFail("a->dstBitstreamBuffer (Error: Value not equal)");
};
if (!((a->dstBitstreamBufferOffset) == (b->dstBitstreamBufferOffset))) {
onFail("a->dstBitstreamBufferOffset (Error: Value not equal)");
};
if (!((a->dstBitstreamBufferMaxRange) == (b->dstBitstreamBufferMaxRange))) {
onFail("a->dstBitstreamBufferMaxRange (Error: Value not equal)");
};
checkEqual_VkVideoPictureResourceKHR(&a->srcPictureResource, &b->srcPictureResource, onFail);
if ((a->pSetupReferenceSlot) && (b->pSetupReferenceSlot)) {
checkEqual_VkVideoReferenceSlotKHR(a->pSetupReferenceSlot, b->pSetupReferenceSlot, onFail);
}
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->referenceSlotCount (Error: Value not equal)");
};
if ((a->pReferenceSlots) && (b->pReferenceSlots)) {
if (!((a->referenceSlotCount) == (b->referenceSlotCount))) {
onFail("a->pReferenceSlots (Error: Lengths not equal)");
};
if ((a->referenceSlotCount) == (b->referenceSlotCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->referenceSlotCount; ++i) {
checkEqual_VkVideoReferenceSlotKHR(a->pReferenceSlots + i,
b->pReferenceSlots + i, onFail);
}
}
}
}
}
void checkEqual_VkVideoEncodeRateControlInfoKHR(const VkVideoEncodeRateControlInfoKHR* a,
const VkVideoEncodeRateControlInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->rateControlMode) == (b->rateControlMode))) {
onFail("a->rateControlMode (Error: Value not equal)");
};
if (!((a->averageBitrate) == (b->averageBitrate))) {
onFail("a->averageBitrate (Error: Value not equal)");
};
if (!((a->peakToAverageBitrateRatio) == (b->peakToAverageBitrateRatio))) {
onFail("a->peakToAverageBitrateRatio (Error: Value not equal)");
};
if (!((a->frameRateNumerator) == (b->frameRateNumerator))) {
onFail("a->frameRateNumerator (Error: Value not equal)");
};
if (!((a->frameRateDenominator) == (b->frameRateDenominator))) {
onFail("a->frameRateDenominator (Error: Value not equal)");
};
if (!((a->virtualBufferSizeInMs) == (b->virtualBufferSizeInMs))) {
onFail("a->virtualBufferSizeInMs (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_synchronization2
void checkEqual_VkMemoryBarrier2KHR(const VkMemoryBarrier2KHR* a, const VkMemoryBarrier2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcStageMask) == (b->srcStageMask))) {
onFail("a->srcStageMask (Error: Value not equal)");
};
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstStageMask) == (b->dstStageMask))) {
onFail("a->dstStageMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
}
void checkEqual_VkBufferMemoryBarrier2KHR(const VkBufferMemoryBarrier2KHR* a,
const VkBufferMemoryBarrier2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcStageMask) == (b->srcStageMask))) {
onFail("a->srcStageMask (Error: Value not equal)");
};
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstStageMask) == (b->dstStageMask))) {
onFail("a->dstStageMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->srcQueueFamilyIndex) == (b->srcQueueFamilyIndex))) {
onFail("a->srcQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->dstQueueFamilyIndex) == (b->dstQueueFamilyIndex))) {
onFail("a->dstQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkImageMemoryBarrier2KHR(const VkImageMemoryBarrier2KHR* a,
const VkImageMemoryBarrier2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcStageMask) == (b->srcStageMask))) {
onFail("a->srcStageMask (Error: Value not equal)");
};
if (!((a->srcAccessMask) == (b->srcAccessMask))) {
onFail("a->srcAccessMask (Error: Value not equal)");
};
if (!((a->dstStageMask) == (b->dstStageMask))) {
onFail("a->dstStageMask (Error: Value not equal)");
};
if (!((a->dstAccessMask) == (b->dstAccessMask))) {
onFail("a->dstAccessMask (Error: Value not equal)");
};
if (!((a->oldLayout) == (b->oldLayout))) {
onFail("a->oldLayout (Error: Value not equal)");
};
if (!((a->newLayout) == (b->newLayout))) {
onFail("a->newLayout (Error: Value not equal)");
};
if (!((a->srcQueueFamilyIndex) == (b->srcQueueFamilyIndex))) {
onFail("a->srcQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->dstQueueFamilyIndex) == (b->dstQueueFamilyIndex))) {
onFail("a->dstQueueFamilyIndex (Error: Value not equal)");
};
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
checkEqual_VkImageSubresourceRange(&a->subresourceRange, &b->subresourceRange, onFail);
}
void checkEqual_VkDependencyInfoKHR(const VkDependencyInfoKHR* a, const VkDependencyInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dependencyFlags) == (b->dependencyFlags))) {
onFail("a->dependencyFlags (Error: Value not equal)");
};
if (!((a->memoryBarrierCount) == (b->memoryBarrierCount))) {
onFail("a->memoryBarrierCount (Error: Value not equal)");
};
if ((a->pMemoryBarriers) && (b->pMemoryBarriers)) {
if (!((a->memoryBarrierCount) == (b->memoryBarrierCount))) {
onFail("a->pMemoryBarriers (Error: Lengths not equal)");
};
if ((a->memoryBarrierCount) == (b->memoryBarrierCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->memoryBarrierCount; ++i) {
checkEqual_VkMemoryBarrier2KHR(a->pMemoryBarriers + i, b->pMemoryBarriers + i,
onFail);
}
}
}
}
if (!((a->bufferMemoryBarrierCount) == (b->bufferMemoryBarrierCount))) {
onFail("a->bufferMemoryBarrierCount (Error: Value not equal)");
};
if ((a->pBufferMemoryBarriers) && (b->pBufferMemoryBarriers)) {
if (!((a->bufferMemoryBarrierCount) == (b->bufferMemoryBarrierCount))) {
onFail("a->pBufferMemoryBarriers (Error: Lengths not equal)");
};
if ((a->bufferMemoryBarrierCount) == (b->bufferMemoryBarrierCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->bufferMemoryBarrierCount; ++i) {
checkEqual_VkBufferMemoryBarrier2KHR(a->pBufferMemoryBarriers + i,
b->pBufferMemoryBarriers + i, onFail);
}
}
}
}
if (!((a->imageMemoryBarrierCount) == (b->imageMemoryBarrierCount))) {
onFail("a->imageMemoryBarrierCount (Error: Value not equal)");
};
if ((a->pImageMemoryBarriers) && (b->pImageMemoryBarriers)) {
if (!((a->imageMemoryBarrierCount) == (b->imageMemoryBarrierCount))) {
onFail("a->pImageMemoryBarriers (Error: Lengths not equal)");
};
if ((a->imageMemoryBarrierCount) == (b->imageMemoryBarrierCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->imageMemoryBarrierCount; ++i) {
checkEqual_VkImageMemoryBarrier2KHR(a->pImageMemoryBarriers + i,
b->pImageMemoryBarriers + i, onFail);
}
}
}
}
}
void checkEqual_VkSemaphoreSubmitInfoKHR(const VkSemaphoreSubmitInfoKHR* a,
const VkSemaphoreSubmitInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->value) == (b->value))) {
onFail("a->value (Error: Value not equal)");
};
if (!((a->stageMask) == (b->stageMask))) {
onFail("a->stageMask (Error: Value not equal)");
};
if (!((a->deviceIndex) == (b->deviceIndex))) {
onFail("a->deviceIndex (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferSubmitInfoKHR(const VkCommandBufferSubmitInfoKHR* a,
const VkCommandBufferSubmitInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->commandBuffer) == (b->commandBuffer))) {
onFail("a->commandBuffer (Error: Value not equal)");
};
if (!((a->deviceMask) == (b->deviceMask))) {
onFail("a->deviceMask (Error: Value not equal)");
};
}
void checkEqual_VkSubmitInfo2KHR(const VkSubmitInfo2KHR* a, const VkSubmitInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->waitSemaphoreInfoCount) == (b->waitSemaphoreInfoCount))) {
onFail("a->waitSemaphoreInfoCount (Error: Value not equal)");
};
if ((a->pWaitSemaphoreInfos) && (b->pWaitSemaphoreInfos)) {
if (!((a->waitSemaphoreInfoCount) == (b->waitSemaphoreInfoCount))) {
onFail("a->pWaitSemaphoreInfos (Error: Lengths not equal)");
};
if ((a->waitSemaphoreInfoCount) == (b->waitSemaphoreInfoCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->waitSemaphoreInfoCount; ++i) {
checkEqual_VkSemaphoreSubmitInfoKHR(a->pWaitSemaphoreInfos + i,
b->pWaitSemaphoreInfos + i, onFail);
}
}
}
}
if (!((a->commandBufferInfoCount) == (b->commandBufferInfoCount))) {
onFail("a->commandBufferInfoCount (Error: Value not equal)");
};
if ((a->pCommandBufferInfos) && (b->pCommandBufferInfos)) {
if (!((a->commandBufferInfoCount) == (b->commandBufferInfoCount))) {
onFail("a->pCommandBufferInfos (Error: Lengths not equal)");
};
if ((a->commandBufferInfoCount) == (b->commandBufferInfoCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->commandBufferInfoCount; ++i) {
checkEqual_VkCommandBufferSubmitInfoKHR(a->pCommandBufferInfos + i,
b->pCommandBufferInfos + i, onFail);
}
}
}
}
if (!((a->signalSemaphoreInfoCount) == (b->signalSemaphoreInfoCount))) {
onFail("a->signalSemaphoreInfoCount (Error: Value not equal)");
};
if ((a->pSignalSemaphoreInfos) && (b->pSignalSemaphoreInfos)) {
if (!((a->signalSemaphoreInfoCount) == (b->signalSemaphoreInfoCount))) {
onFail("a->pSignalSemaphoreInfos (Error: Lengths not equal)");
};
if ((a->signalSemaphoreInfoCount) == (b->signalSemaphoreInfoCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->signalSemaphoreInfoCount; ++i) {
checkEqual_VkSemaphoreSubmitInfoKHR(a->pSignalSemaphoreInfos + i,
b->pSignalSemaphoreInfos + i, onFail);
}
}
}
}
}
void checkEqual_VkPhysicalDeviceSynchronization2FeaturesKHR(
const VkPhysicalDeviceSynchronization2FeaturesKHR* a,
const VkPhysicalDeviceSynchronization2FeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->synchronization2) == (b->synchronization2))) {
onFail("a->synchronization2 (Error: Value not equal)");
};
}
void checkEqual_VkQueueFamilyCheckpointProperties2NV(const VkQueueFamilyCheckpointProperties2NV* a,
const VkQueueFamilyCheckpointProperties2NV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->checkpointExecutionStageMask) == (b->checkpointExecutionStageMask))) {
onFail("a->checkpointExecutionStageMask (Error: Value not equal)");
};
}
void checkEqual_VkCheckpointData2NV(const VkCheckpointData2NV* a, const VkCheckpointData2NV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stage) == (b->stage))) {
onFail("a->stage (Error: Value not equal)");
};
if (!((!(a->pCheckpointMarker) && !(b->pCheckpointMarker)) ||
((a->pCheckpointMarker) && (b->pCheckpointMarker)))) {
onFail("a->pCheckpointMarker (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_KHR_shader_subgroup_uniform_control_flow
void checkEqual_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* a,
const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderSubgroupUniformControlFlow) == (b->shaderSubgroupUniformControlFlow))) {
onFail("a->shaderSubgroupUniformControlFlow (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
void checkEqual_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* a,
const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderZeroInitializeWorkgroupMemory) == (b->shaderZeroInitializeWorkgroupMemory))) {
onFail("a->shaderZeroInitializeWorkgroupMemory (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_workgroup_memory_explicit_layout
void checkEqual_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* a,
const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->workgroupMemoryExplicitLayout) == (b->workgroupMemoryExplicitLayout))) {
onFail("a->workgroupMemoryExplicitLayout (Error: Value not equal)");
};
if (!((a->workgroupMemoryExplicitLayoutScalarBlockLayout) ==
(b->workgroupMemoryExplicitLayoutScalarBlockLayout))) {
onFail("a->workgroupMemoryExplicitLayoutScalarBlockLayout (Error: Value not equal)");
};
if (!((a->workgroupMemoryExplicitLayout8BitAccess) ==
(b->workgroupMemoryExplicitLayout8BitAccess))) {
onFail("a->workgroupMemoryExplicitLayout8BitAccess (Error: Value not equal)");
};
if (!((a->workgroupMemoryExplicitLayout16BitAccess) ==
(b->workgroupMemoryExplicitLayout16BitAccess))) {
onFail("a->workgroupMemoryExplicitLayout16BitAccess (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_copy_commands2
void checkEqual_VkBufferCopy2KHR(const VkBufferCopy2KHR* a, const VkBufferCopy2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcOffset) == (b->srcOffset))) {
onFail("a->srcOffset (Error: Value not equal)");
};
if (!((a->dstOffset) == (b->dstOffset))) {
onFail("a->dstOffset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkCopyBufferInfo2KHR(const VkCopyBufferInfo2KHR* a, const VkCopyBufferInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcBuffer) == (b->srcBuffer))) {
onFail("a->srcBuffer (Error: Value not equal)");
};
if (!((a->dstBuffer) == (b->dstBuffer))) {
onFail("a->dstBuffer (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkBufferCopy2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
void checkEqual_VkImageCopy2KHR(const VkImageCopy2KHR* a, const VkImageCopy2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
checkEqual_VkOffset3D(&a->srcOffset, &b->srcOffset, onFail);
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
checkEqual_VkOffset3D(&a->dstOffset, &b->dstOffset, onFail);
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
}
void checkEqual_VkCopyImageInfo2KHR(const VkCopyImageInfo2KHR* a, const VkCopyImageInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcImage) == (b->srcImage))) {
onFail("a->srcImage (Error: Value not equal)");
};
if (!((a->srcImageLayout) == (b->srcImageLayout))) {
onFail("a->srcImageLayout (Error: Value not equal)");
};
if (!((a->dstImage) == (b->dstImage))) {
onFail("a->dstImage (Error: Value not equal)");
};
if (!((a->dstImageLayout) == (b->dstImageLayout))) {
onFail("a->dstImageLayout (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkImageCopy2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
void checkEqual_VkBufferImageCopy2KHR(const VkBufferImageCopy2KHR* a,
const VkBufferImageCopy2KHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->bufferOffset) == (b->bufferOffset))) {
onFail("a->bufferOffset (Error: Value not equal)");
};
if (!((a->bufferRowLength) == (b->bufferRowLength))) {
onFail("a->bufferRowLength (Error: Value not equal)");
};
if (!((a->bufferImageHeight) == (b->bufferImageHeight))) {
onFail("a->bufferImageHeight (Error: Value not equal)");
};
checkEqual_VkImageSubresourceLayers(&a->imageSubresource, &b->imageSubresource, onFail);
checkEqual_VkOffset3D(&a->imageOffset, &b->imageOffset, onFail);
checkEqual_VkExtent3D(&a->imageExtent, &b->imageExtent, onFail);
}
void checkEqual_VkCopyBufferToImageInfo2KHR(const VkCopyBufferToImageInfo2KHR* a,
const VkCopyBufferToImageInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcBuffer) == (b->srcBuffer))) {
onFail("a->srcBuffer (Error: Value not equal)");
};
if (!((a->dstImage) == (b->dstImage))) {
onFail("a->dstImage (Error: Value not equal)");
};
if (!((a->dstImageLayout) == (b->dstImageLayout))) {
onFail("a->dstImageLayout (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkBufferImageCopy2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
void checkEqual_VkCopyImageToBufferInfo2KHR(const VkCopyImageToBufferInfo2KHR* a,
const VkCopyImageToBufferInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcImage) == (b->srcImage))) {
onFail("a->srcImage (Error: Value not equal)");
};
if (!((a->srcImageLayout) == (b->srcImageLayout))) {
onFail("a->srcImageLayout (Error: Value not equal)");
};
if (!((a->dstBuffer) == (b->dstBuffer))) {
onFail("a->dstBuffer (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkBufferImageCopy2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
void checkEqual_VkImageBlit2KHR(const VkImageBlit2KHR* a, const VkImageBlit2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
if (!((2) == (2))) {
onFail("a->srcOffsets (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
checkEqual_VkOffset3D(a->srcOffsets + i, b->srcOffsets + i, onFail);
}
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
if (!((2) == (2))) {
onFail("a->dstOffsets (Error: Lengths not equal)");
};
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
checkEqual_VkOffset3D(a->dstOffsets + i, b->dstOffsets + i, onFail);
}
}
void checkEqual_VkBlitImageInfo2KHR(const VkBlitImageInfo2KHR* a, const VkBlitImageInfo2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcImage) == (b->srcImage))) {
onFail("a->srcImage (Error: Value not equal)");
};
if (!((a->srcImageLayout) == (b->srcImageLayout))) {
onFail("a->srcImageLayout (Error: Value not equal)");
};
if (!((a->dstImage) == (b->dstImage))) {
onFail("a->dstImage (Error: Value not equal)");
};
if (!((a->dstImageLayout) == (b->dstImageLayout))) {
onFail("a->dstImageLayout (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkImageBlit2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
if (!((a->filter) == (b->filter))) {
onFail("a->filter (Error: Value not equal)");
};
}
void checkEqual_VkImageResolve2KHR(const VkImageResolve2KHR* a, const VkImageResolve2KHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkImageSubresourceLayers(&a->srcSubresource, &b->srcSubresource, onFail);
checkEqual_VkOffset3D(&a->srcOffset, &b->srcOffset, onFail);
checkEqual_VkImageSubresourceLayers(&a->dstSubresource, &b->dstSubresource, onFail);
checkEqual_VkOffset3D(&a->dstOffset, &b->dstOffset, onFail);
checkEqual_VkExtent3D(&a->extent, &b->extent, onFail);
}
void checkEqual_VkResolveImageInfo2KHR(const VkResolveImageInfo2KHR* a,
const VkResolveImageInfo2KHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcImage) == (b->srcImage))) {
onFail("a->srcImage (Error: Value not equal)");
};
if (!((a->srcImageLayout) == (b->srcImageLayout))) {
onFail("a->srcImageLayout (Error: Value not equal)");
};
if (!((a->dstImage) == (b->dstImage))) {
onFail("a->dstImage (Error: Value not equal)");
};
if (!((a->dstImageLayout) == (b->dstImageLayout))) {
onFail("a->dstImageLayout (Error: Value not equal)");
};
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->regionCount (Error: Value not equal)");
};
if ((a->pRegions) && (b->pRegions)) {
if (!((a->regionCount) == (b->regionCount))) {
onFail("a->pRegions (Error: Lengths not equal)");
};
if ((a->regionCount) == (b->regionCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->regionCount; ++i) {
checkEqual_VkImageResolve2KHR(a->pRegions + i, b->pRegions + i, onFail);
}
}
}
}
}
#endif
#ifdef VK_KHR_format_feature_flags2
void checkEqual_VkFormatProperties3KHR(const VkFormatProperties3KHR* a,
const VkFormatProperties3KHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->linearTilingFeatures) == (b->linearTilingFeatures))) {
onFail("a->linearTilingFeatures (Error: Value not equal)");
};
if (!((a->optimalTilingFeatures) == (b->optimalTilingFeatures))) {
onFail("a->optimalTilingFeatures (Error: Value not equal)");
};
if (!((a->bufferFeatures) == (b->bufferFeatures))) {
onFail("a->bufferFeatures (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_maintenance4
void checkEqual_VkPhysicalDeviceMaintenance4FeaturesKHR(
const VkPhysicalDeviceMaintenance4FeaturesKHR* a,
const VkPhysicalDeviceMaintenance4FeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maintenance4) == (b->maintenance4))) {
onFail("a->maintenance4 (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMaintenance4PropertiesKHR(
const VkPhysicalDeviceMaintenance4PropertiesKHR* a,
const VkPhysicalDeviceMaintenance4PropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxBufferSize) == (b->maxBufferSize))) {
onFail("a->maxBufferSize (Error: Value not equal)");
};
}
void checkEqual_VkDeviceBufferMemoryRequirementsKHR(const VkDeviceBufferMemoryRequirementsKHR* a,
const VkDeviceBufferMemoryRequirementsKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if ((a->pCreateInfo) && (b->pCreateInfo)) {
checkEqual_VkBufferCreateInfo(a->pCreateInfo, b->pCreateInfo, onFail);
}
}
void checkEqual_VkDeviceImageMemoryRequirementsKHR(const VkDeviceImageMemoryRequirementsKHR* a,
const VkDeviceImageMemoryRequirementsKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if ((a->pCreateInfo) && (b->pCreateInfo)) {
checkEqual_VkImageCreateInfo(a->pCreateInfo, b->pCreateInfo, onFail);
}
if (!((a->planeAspect) == (b->planeAspect))) {
onFail("a->planeAspect (Error: Value not equal)");
};
}
#endif
#ifdef VK_ANDROID_native_buffer
void checkEqual_VkNativeBufferANDROID(const VkNativeBufferANDROID* a,
const VkNativeBufferANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->handle) && !(b->handle)) || ((a->handle) && (b->handle)))) {
onFail("a->handle (Error: Mismatch in optional field)");
};
if (a->handle && b->handle) {
if (!((memcmp(a->handle, b->handle, sizeof(const uint32_t)) == 0))) {
onFail("a->handle (Error: Unequal dyn array)");
};
}
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->usage) == (b->usage))) {
onFail("a->usage (Error: Value not equal)");
};
if (!((a->consumer) == (b->consumer))) {
onFail("a->consumer (Error: Value not equal)");
};
if (!((a->producer) == (b->producer))) {
onFail("a->producer (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_debug_report
void checkEqual_VkDebugReportCallbackCreateInfoEXT(const VkDebugReportCallbackCreateInfoEXT* a,
const VkDebugReportCallbackCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->pfnCallback) == (b->pfnCallback))) {
onFail("a->pfnCallback (Error: Value not equal)");
};
if (!((!(a->pUserData) && !(b->pUserData)) || ((a->pUserData) && (b->pUserData)))) {
onFail("a->pUserData (Error: Mismatch in optional field)");
};
}
#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 checkEqual_VkPipelineRasterizationStateRasterizationOrderAMD(
const VkPipelineRasterizationStateRasterizationOrderAMD* a,
const VkPipelineRasterizationStateRasterizationOrderAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->rasterizationOrder) == (b->rasterizationOrder))) {
onFail("a->rasterizationOrder (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_shader_trinary_minmax
#endif
#ifdef VK_AMD_shader_explicit_vertex_parameter
#endif
#ifdef VK_EXT_debug_marker
void checkEqual_VkDebugMarkerObjectNameInfoEXT(const VkDebugMarkerObjectNameInfoEXT* a,
const VkDebugMarkerObjectNameInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->objectType) == (b->objectType))) {
onFail("a->objectType (Error: Value not equal)");
};
if (!((a->object) == (b->object))) {
onFail("a->object (Error: Value not equal)");
};
if (!((!(a->pObjectName) && !(b->pObjectName)) || ((a->pObjectName) && (b->pObjectName)))) {
onFail("a->pObjectName (Error: Mismatch in string pointer nullness)");
};
if ((a->pObjectName) && (b->pObjectName)) {
if (!((strcmp(a->pObjectName, b->pObjectName) == 0))) {
onFail("a->pObjectName (Error: Unequal strings)");
};
}
}
void checkEqual_VkDebugMarkerObjectTagInfoEXT(const VkDebugMarkerObjectTagInfoEXT* a,
const VkDebugMarkerObjectTagInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->objectType) == (b->objectType))) {
onFail("a->objectType (Error: Value not equal)");
};
if (!((a->object) == (b->object))) {
onFail("a->object (Error: Value not equal)");
};
if (!((a->tagName) == (b->tagName))) {
onFail("a->tagName (Error: Value not equal)");
};
if (!((a->tagSize) == (b->tagSize))) {
onFail("a->tagSize (Error: Value not equal)");
};
}
void checkEqual_VkDebugMarkerMarkerInfoEXT(const VkDebugMarkerMarkerInfoEXT* a,
const VkDebugMarkerMarkerInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pMarkerName) && !(b->pMarkerName)) || ((a->pMarkerName) && (b->pMarkerName)))) {
onFail("a->pMarkerName (Error: Mismatch in string pointer nullness)");
};
if ((a->pMarkerName) && (b->pMarkerName)) {
if (!((strcmp(a->pMarkerName, b->pMarkerName) == 0))) {
onFail("a->pMarkerName (Error: Unequal strings)");
};
}
if (!((memcmp(a->color, b->color, 4 * sizeof(float)) == 0))) {
onFail("a->color (Error: Unequal static array)");
};
}
#endif
#ifdef VK_AMD_gcn_shader
#endif
#ifdef VK_NV_dedicated_allocation
void checkEqual_VkDedicatedAllocationImageCreateInfoNV(
const VkDedicatedAllocationImageCreateInfoNV* a,
const VkDedicatedAllocationImageCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dedicatedAllocation) == (b->dedicatedAllocation))) {
onFail("a->dedicatedAllocation (Error: Value not equal)");
};
}
void checkEqual_VkDedicatedAllocationBufferCreateInfoNV(
const VkDedicatedAllocationBufferCreateInfoNV* a,
const VkDedicatedAllocationBufferCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dedicatedAllocation) == (b->dedicatedAllocation))) {
onFail("a->dedicatedAllocation (Error: Value not equal)");
};
}
void checkEqual_VkDedicatedAllocationMemoryAllocateInfoNV(
const VkDedicatedAllocationMemoryAllocateInfoNV* a,
const VkDedicatedAllocationMemoryAllocateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->image) == (b->image))) {
onFail("a->image (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_transform_feedback
void checkEqual_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
const VkPhysicalDeviceTransformFeedbackFeaturesEXT* a,
const VkPhysicalDeviceTransformFeedbackFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->transformFeedback) == (b->transformFeedback))) {
onFail("a->transformFeedback (Error: Value not equal)");
};
if (!((a->geometryStreams) == (b->geometryStreams))) {
onFail("a->geometryStreams (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
const VkPhysicalDeviceTransformFeedbackPropertiesEXT* a,
const VkPhysicalDeviceTransformFeedbackPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxTransformFeedbackStreams) == (b->maxTransformFeedbackStreams))) {
onFail("a->maxTransformFeedbackStreams (Error: Value not equal)");
};
if (!((a->maxTransformFeedbackBuffers) == (b->maxTransformFeedbackBuffers))) {
onFail("a->maxTransformFeedbackBuffers (Error: Value not equal)");
};
if (!((a->maxTransformFeedbackBufferSize) == (b->maxTransformFeedbackBufferSize))) {
onFail("a->maxTransformFeedbackBufferSize (Error: Value not equal)");
};
if (!((a->maxTransformFeedbackStreamDataSize) == (b->maxTransformFeedbackStreamDataSize))) {
onFail("a->maxTransformFeedbackStreamDataSize (Error: Value not equal)");
};
if (!((a->maxTransformFeedbackBufferDataSize) == (b->maxTransformFeedbackBufferDataSize))) {
onFail("a->maxTransformFeedbackBufferDataSize (Error: Value not equal)");
};
if (!((a->maxTransformFeedbackBufferDataStride) == (b->maxTransformFeedbackBufferDataStride))) {
onFail("a->maxTransformFeedbackBufferDataStride (Error: Value not equal)");
};
if (!((a->transformFeedbackQueries) == (b->transformFeedbackQueries))) {
onFail("a->transformFeedbackQueries (Error: Value not equal)");
};
if (!((a->transformFeedbackStreamsLinesTriangles) ==
(b->transformFeedbackStreamsLinesTriangles))) {
onFail("a->transformFeedbackStreamsLinesTriangles (Error: Value not equal)");
};
if (!((a->transformFeedbackRasterizationStreamSelect) ==
(b->transformFeedbackRasterizationStreamSelect))) {
onFail("a->transformFeedbackRasterizationStreamSelect (Error: Value not equal)");
};
if (!((a->transformFeedbackDraw) == (b->transformFeedbackDraw))) {
onFail("a->transformFeedbackDraw (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRasterizationStateStreamCreateInfoEXT(
const VkPipelineRasterizationStateStreamCreateInfoEXT* a,
const VkPipelineRasterizationStateStreamCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->rasterizationStream) == (b->rasterizationStream))) {
onFail("a->rasterizationStream (Error: Value not equal)");
};
}
#endif
#ifdef VK_NVX_binary_import
void checkEqual_VkCuModuleCreateInfoNVX(const VkCuModuleCreateInfoNVX* a,
const VkCuModuleCreateInfoNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dataSize) == (b->dataSize))) {
onFail("a->dataSize (Error: Value not equal)");
};
}
void checkEqual_VkCuFunctionCreateInfoNVX(const VkCuFunctionCreateInfoNVX* a,
const VkCuFunctionCreateInfoNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->module) == (b->module))) {
onFail("a->module (Error: Value not equal)");
};
if (!((!(a->pName) && !(b->pName)) || ((a->pName) && (b->pName)))) {
onFail("a->pName (Error: Mismatch in string pointer nullness)");
};
if ((a->pName) && (b->pName)) {
if (!((strcmp(a->pName, b->pName) == 0))) {
onFail("a->pName (Error: Unequal strings)");
};
}
}
void checkEqual_VkCuLaunchInfoNVX(const VkCuLaunchInfoNVX* a, const VkCuLaunchInfoNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->function) == (b->function))) {
onFail("a->function (Error: Value not equal)");
};
if (!((a->gridDimX) == (b->gridDimX))) {
onFail("a->gridDimX (Error: Value not equal)");
};
if (!((a->gridDimY) == (b->gridDimY))) {
onFail("a->gridDimY (Error: Value not equal)");
};
if (!((a->gridDimZ) == (b->gridDimZ))) {
onFail("a->gridDimZ (Error: Value not equal)");
};
if (!((a->blockDimX) == (b->blockDimX))) {
onFail("a->blockDimX (Error: Value not equal)");
};
if (!((a->blockDimY) == (b->blockDimY))) {
onFail("a->blockDimY (Error: Value not equal)");
};
if (!((a->blockDimZ) == (b->blockDimZ))) {
onFail("a->blockDimZ (Error: Value not equal)");
};
if (!((a->sharedMemBytes) == (b->sharedMemBytes))) {
onFail("a->sharedMemBytes (Error: Value not equal)");
};
if (!((a->paramCount) == (b->paramCount))) {
onFail("a->paramCount (Error: Value not equal)");
};
if (!((a->extraCount) == (b->extraCount))) {
onFail("a->extraCount (Error: Value not equal)");
};
}
#endif
#ifdef VK_NVX_image_view_handle
void checkEqual_VkImageViewHandleInfoNVX(const VkImageViewHandleInfoNVX* a,
const VkImageViewHandleInfoNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageView) == (b->imageView))) {
onFail("a->imageView (Error: Value not equal)");
};
if (!((a->descriptorType) == (b->descriptorType))) {
onFail("a->descriptorType (Error: Value not equal)");
};
if (!((a->sampler) == (b->sampler))) {
onFail("a->sampler (Error: Value not equal)");
};
}
void checkEqual_VkImageViewAddressPropertiesNVX(const VkImageViewAddressPropertiesNVX* a,
const VkImageViewAddressPropertiesNVX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
#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_EXT_video_encode_h264
void checkEqual_VkVideoEncodeH264CapabilitiesEXT(const VkVideoEncodeH264CapabilitiesEXT* a,
const VkVideoEncodeH264CapabilitiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->inputModeFlags) == (b->inputModeFlags))) {
onFail("a->inputModeFlags (Error: Value not equal)");
};
if (!((a->outputModeFlags) == (b->outputModeFlags))) {
onFail("a->outputModeFlags (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->minPictureSizeInMbs, &b->minPictureSizeInMbs, onFail);
checkEqual_VkExtent2D(&a->maxPictureSizeInMbs, &b->maxPictureSizeInMbs, onFail);
checkEqual_VkExtent2D(&a->inputImageDataAlignment, &b->inputImageDataAlignment, onFail);
if (!((a->maxNumL0ReferenceForP) == (b->maxNumL0ReferenceForP))) {
onFail("a->maxNumL0ReferenceForP (Error: Value not equal)");
};
if (!((a->maxNumL0ReferenceForB) == (b->maxNumL0ReferenceForB))) {
onFail("a->maxNumL0ReferenceForB (Error: Value not equal)");
};
if (!((a->maxNumL1Reference) == (b->maxNumL1Reference))) {
onFail("a->maxNumL1Reference (Error: Value not equal)");
};
if (!((a->qualityLevelCount) == (b->qualityLevelCount))) {
onFail("a->qualityLevelCount (Error: Value not equal)");
};
checkEqual_VkExtensionProperties(&a->stdExtensionVersion, &b->stdExtensionVersion, onFail);
}
void checkEqual_VkVideoEncodeH264SessionCreateInfoEXT(
const VkVideoEncodeH264SessionCreateInfoEXT* a, const VkVideoEncodeH264SessionCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->maxPictureSizeInMbs, &b->maxPictureSizeInMbs, onFail);
if ((a->pStdExtensionVersion) && (b->pStdExtensionVersion)) {
checkEqual_VkExtensionProperties(a->pStdExtensionVersion, b->pStdExtensionVersion, onFail);
}
}
void checkEqual_VkVideoEncodeH264SessionParametersAddInfoEXT(
const VkVideoEncodeH264SessionParametersAddInfoEXT* a,
const VkVideoEncodeH264SessionParametersAddInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->spsStdCount (Error: Value not equal)");
};
if (!((!(a->pSpsStd) && !(b->pSpsStd)) || ((a->pSpsStd) && (b->pSpsStd)))) {
onFail("a->pSpsStd (Error: Mismatch in optional field)");
};
if (a->pSpsStd && b->pSpsStd) {
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->pSpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pSpsStd, b->pSpsStd,
a->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)) == 0))) {
onFail("a->pSpsStd (Error: Unequal dyn array)");
};
}
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->ppsStdCount (Error: Value not equal)");
};
if (!((!(a->pPpsStd) && !(b->pPpsStd)) || ((a->pPpsStd) && (b->pPpsStd)))) {
onFail("a->pPpsStd (Error: Mismatch in optional field)");
};
if (a->pPpsStd && b->pPpsStd) {
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->pPpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pPpsStd, b->pPpsStd,
a->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)) == 0))) {
onFail("a->pPpsStd (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkVideoEncodeH264SessionParametersCreateInfoEXT(
const VkVideoEncodeH264SessionParametersCreateInfoEXT* a,
const VkVideoEncodeH264SessionParametersCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxSpsStdCount) == (b->maxSpsStdCount))) {
onFail("a->maxSpsStdCount (Error: Value not equal)");
};
if (!((a->maxPpsStdCount) == (b->maxPpsStdCount))) {
onFail("a->maxPpsStdCount (Error: Value not equal)");
};
if (!((!(a->pParametersAddInfo) && !(b->pParametersAddInfo)) ||
((a->pParametersAddInfo) && (b->pParametersAddInfo)))) {
onFail("a->pParametersAddInfo (Error: Mismatch in optional field)");
};
if (a->pParametersAddInfo && b->pParametersAddInfo) {
if ((a->pParametersAddInfo) && (b->pParametersAddInfo)) {
checkEqual_VkVideoEncodeH264SessionParametersAddInfoEXT(a->pParametersAddInfo,
b->pParametersAddInfo, onFail);
}
}
}
void checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(const VkVideoEncodeH264DpbSlotInfoEXT* a,
const VkVideoEncodeH264DpbSlotInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->slotIndex) == (b->slotIndex))) {
onFail("a->slotIndex (Error: Value not equal)");
};
if (!((memcmp(a->pStdPictureInfo, b->pStdPictureInfo,
sizeof(const StdVideoEncodeH264PictureInfo)) == 0))) {
onFail("a->pStdPictureInfo (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH264NaluSliceEXT(const VkVideoEncodeH264NaluSliceEXT* a,
const VkVideoEncodeH264NaluSliceEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pSliceHeaderStd, b->pSliceHeaderStd,
sizeof(const StdVideoEncodeH264SliceHeader)) == 0))) {
onFail("a->pSliceHeaderStd (Error: Unequal dyn array)");
};
if (!((a->mbCount) == (b->mbCount))) {
onFail("a->mbCount (Error: Value not equal)");
};
if (!((a->refFinalList0EntryCount) == (b->refFinalList0EntryCount))) {
onFail("a->refFinalList0EntryCount (Error: Value not equal)");
};
if ((a->pRefFinalList0Entries) && (b->pRefFinalList0Entries)) {
if (!((a->refFinalList0EntryCount) == (b->refFinalList0EntryCount))) {
onFail("a->pRefFinalList0Entries (Error: Lengths not equal)");
};
if ((a->refFinalList0EntryCount) == (b->refFinalList0EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->refFinalList0EntryCount; ++i) {
checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(
a->pRefFinalList0Entries + i, b->pRefFinalList0Entries + i, onFail);
}
}
}
}
if (!((a->refFinalList1EntryCount) == (b->refFinalList1EntryCount))) {
onFail("a->refFinalList1EntryCount (Error: Value not equal)");
};
if ((a->pRefFinalList1Entries) && (b->pRefFinalList1Entries)) {
if (!((a->refFinalList1EntryCount) == (b->refFinalList1EntryCount))) {
onFail("a->pRefFinalList1Entries (Error: Lengths not equal)");
};
if ((a->refFinalList1EntryCount) == (b->refFinalList1EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->refFinalList1EntryCount; ++i) {
checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(
a->pRefFinalList1Entries + i, b->pRefFinalList1Entries + i, onFail);
}
}
}
}
if (!((a->precedingNaluBytes) == (b->precedingNaluBytes))) {
onFail("a->precedingNaluBytes (Error: Value not equal)");
};
if (!((a->minQp) == (b->minQp))) {
onFail("a->minQp (Error: Value not equal)");
};
if (!((a->maxQp) == (b->maxQp))) {
onFail("a->maxQp (Error: Value not equal)");
};
}
void checkEqual_VkVideoEncodeH264VclFrameInfoEXT(const VkVideoEncodeH264VclFrameInfoEXT* a,
const VkVideoEncodeH264VclFrameInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->refDefaultFinalList0EntryCount) == (b->refDefaultFinalList0EntryCount))) {
onFail("a->refDefaultFinalList0EntryCount (Error: Value not equal)");
};
if ((a->pRefDefaultFinalList0Entries) && (b->pRefDefaultFinalList0Entries)) {
if (!((a->refDefaultFinalList0EntryCount) == (b->refDefaultFinalList0EntryCount))) {
onFail("a->pRefDefaultFinalList0Entries (Error: Lengths not equal)");
};
if ((a->refDefaultFinalList0EntryCount) == (b->refDefaultFinalList0EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->refDefaultFinalList0EntryCount; ++i) {
checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(a->pRefDefaultFinalList0Entries + i,
b->pRefDefaultFinalList0Entries + i,
onFail);
}
}
}
}
if (!((a->refDefaultFinalList1EntryCount) == (b->refDefaultFinalList1EntryCount))) {
onFail("a->refDefaultFinalList1EntryCount (Error: Value not equal)");
};
if ((a->pRefDefaultFinalList1Entries) && (b->pRefDefaultFinalList1Entries)) {
if (!((a->refDefaultFinalList1EntryCount) == (b->refDefaultFinalList1EntryCount))) {
onFail("a->pRefDefaultFinalList1Entries (Error: Lengths not equal)");
};
if ((a->refDefaultFinalList1EntryCount) == (b->refDefaultFinalList1EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->refDefaultFinalList1EntryCount; ++i) {
checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(a->pRefDefaultFinalList1Entries + i,
b->pRefDefaultFinalList1Entries + i,
onFail);
}
}
}
}
if (!((a->naluSliceEntryCount) == (b->naluSliceEntryCount))) {
onFail("a->naluSliceEntryCount (Error: Value not equal)");
};
if ((a->pNaluSliceEntries) && (b->pNaluSliceEntries)) {
if (!((a->naluSliceEntryCount) == (b->naluSliceEntryCount))) {
onFail("a->pNaluSliceEntries (Error: Lengths not equal)");
};
if ((a->naluSliceEntryCount) == (b->naluSliceEntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->naluSliceEntryCount; ++i) {
checkEqual_VkVideoEncodeH264NaluSliceEXT(a->pNaluSliceEntries + i,
b->pNaluSliceEntries + i, onFail);
}
}
}
}
if ((a->pCurrentPictureInfo) && (b->pCurrentPictureInfo)) {
checkEqual_VkVideoEncodeH264DpbSlotInfoEXT(a->pCurrentPictureInfo, b->pCurrentPictureInfo,
onFail);
}
}
void checkEqual_VkVideoEncodeH264EmitPictureParametersEXT(
const VkVideoEncodeH264EmitPictureParametersEXT* a,
const VkVideoEncodeH264EmitPictureParametersEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->spsId) == (b->spsId))) {
onFail("a->spsId (Error: Value not equal)");
};
if (!((a->emitSpsEnable) == (b->emitSpsEnable))) {
onFail("a->emitSpsEnable (Error: Value not equal)");
};
if (!((a->ppsIdEntryCount) == (b->ppsIdEntryCount))) {
onFail("a->ppsIdEntryCount (Error: Value not equal)");
};
if (!((a->ppsIdEntryCount) == (b->ppsIdEntryCount))) {
onFail("a->ppsIdEntries (Error: Lengths not equal)");
};
if (!((memcmp(a->ppsIdEntries, b->ppsIdEntries, a->ppsIdEntryCount * sizeof(const uint8_t)) ==
0))) {
onFail("a->ppsIdEntries (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH264ProfileEXT(const VkVideoEncodeH264ProfileEXT* a,
const VkVideoEncodeH264ProfileEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stdProfileIdc) == (b->stdProfileIdc))) {
onFail("a->stdProfileIdc (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_video_encode_h265
void checkEqual_VkVideoEncodeH265CapabilitiesEXT(const VkVideoEncodeH265CapabilitiesEXT* a,
const VkVideoEncodeH265CapabilitiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->inputModeFlags) == (b->inputModeFlags))) {
onFail("a->inputModeFlags (Error: Value not equal)");
};
if (!((a->outputModeFlags) == (b->outputModeFlags))) {
onFail("a->outputModeFlags (Error: Value not equal)");
};
if (!((a->ctbSizes) == (b->ctbSizes))) {
onFail("a->ctbSizes (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->inputImageDataAlignment, &b->inputImageDataAlignment, onFail);
if (!((a->maxNumL0ReferenceForP) == (b->maxNumL0ReferenceForP))) {
onFail("a->maxNumL0ReferenceForP (Error: Value not equal)");
};
if (!((a->maxNumL0ReferenceForB) == (b->maxNumL0ReferenceForB))) {
onFail("a->maxNumL0ReferenceForB (Error: Value not equal)");
};
if (!((a->maxNumL1Reference) == (b->maxNumL1Reference))) {
onFail("a->maxNumL1Reference (Error: Value not equal)");
};
if (!((a->maxNumSubLayers) == (b->maxNumSubLayers))) {
onFail("a->maxNumSubLayers (Error: Value not equal)");
};
if (!((a->qualityLevelCount) == (b->qualityLevelCount))) {
onFail("a->qualityLevelCount (Error: Value not equal)");
};
checkEqual_VkExtensionProperties(&a->stdExtensionVersion, &b->stdExtensionVersion, onFail);
}
void checkEqual_VkVideoEncodeH265SessionCreateInfoEXT(
const VkVideoEncodeH265SessionCreateInfoEXT* a, const VkVideoEncodeH265SessionCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if ((a->pStdExtensionVersion) && (b->pStdExtensionVersion)) {
checkEqual_VkExtensionProperties(a->pStdExtensionVersion, b->pStdExtensionVersion, onFail);
}
}
void checkEqual_VkVideoEncodeH265SessionParametersAddInfoEXT(
const VkVideoEncodeH265SessionParametersAddInfoEXT* a,
const VkVideoEncodeH265SessionParametersAddInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vpsStdCount) == (b->vpsStdCount))) {
onFail("a->vpsStdCount (Error: Value not equal)");
};
if (!((!(a->pVpsStd) && !(b->pVpsStd)) || ((a->pVpsStd) && (b->pVpsStd)))) {
onFail("a->pVpsStd (Error: Mismatch in optional field)");
};
if (a->pVpsStd && b->pVpsStd) {
if (!((a->vpsStdCount) == (b->vpsStdCount))) {
onFail("a->pVpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pVpsStd, b->pVpsStd,
a->vpsStdCount * sizeof(const StdVideoH265VideoParameterSet)) == 0))) {
onFail("a->pVpsStd (Error: Unequal dyn array)");
};
}
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->spsStdCount (Error: Value not equal)");
};
if (!((!(a->pSpsStd) && !(b->pSpsStd)) || ((a->pSpsStd) && (b->pSpsStd)))) {
onFail("a->pSpsStd (Error: Mismatch in optional field)");
};
if (a->pSpsStd && b->pSpsStd) {
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->pSpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pSpsStd, b->pSpsStd,
a->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)) == 0))) {
onFail("a->pSpsStd (Error: Unequal dyn array)");
};
}
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->ppsStdCount (Error: Value not equal)");
};
if (!((!(a->pPpsStd) && !(b->pPpsStd)) || ((a->pPpsStd) && (b->pPpsStd)))) {
onFail("a->pPpsStd (Error: Mismatch in optional field)");
};
if (a->pPpsStd && b->pPpsStd) {
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->pPpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pPpsStd, b->pPpsStd,
a->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)) == 0))) {
onFail("a->pPpsStd (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkVideoEncodeH265SessionParametersCreateInfoEXT(
const VkVideoEncodeH265SessionParametersCreateInfoEXT* a,
const VkVideoEncodeH265SessionParametersCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxVpsStdCount) == (b->maxVpsStdCount))) {
onFail("a->maxVpsStdCount (Error: Value not equal)");
};
if (!((a->maxSpsStdCount) == (b->maxSpsStdCount))) {
onFail("a->maxSpsStdCount (Error: Value not equal)");
};
if (!((a->maxPpsStdCount) == (b->maxPpsStdCount))) {
onFail("a->maxPpsStdCount (Error: Value not equal)");
};
if (!((!(a->pParametersAddInfo) && !(b->pParametersAddInfo)) ||
((a->pParametersAddInfo) && (b->pParametersAddInfo)))) {
onFail("a->pParametersAddInfo (Error: Mismatch in optional field)");
};
if (a->pParametersAddInfo && b->pParametersAddInfo) {
if ((a->pParametersAddInfo) && (b->pParametersAddInfo)) {
checkEqual_VkVideoEncodeH265SessionParametersAddInfoEXT(a->pParametersAddInfo,
b->pParametersAddInfo, onFail);
}
}
}
void checkEqual_VkVideoEncodeH265DpbSlotInfoEXT(const VkVideoEncodeH265DpbSlotInfoEXT* a,
const VkVideoEncodeH265DpbSlotInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->slotIndex) == (b->slotIndex))) {
onFail("a->slotIndex (Error: Value not equal)");
};
if (!((memcmp(a->pStdReferenceInfo, b->pStdReferenceInfo,
sizeof(const StdVideoEncodeH265ReferenceInfo)) == 0))) {
onFail("a->pStdReferenceInfo (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH265ReferenceListsEXT(const VkVideoEncodeH265ReferenceListsEXT* a,
const VkVideoEncodeH265ReferenceListsEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->referenceList0EntryCount) == (b->referenceList0EntryCount))) {
onFail("a->referenceList0EntryCount (Error: Value not equal)");
};
if ((a->pReferenceList0Entries) && (b->pReferenceList0Entries)) {
if (!((a->referenceList0EntryCount) == (b->referenceList0EntryCount))) {
onFail("a->pReferenceList0Entries (Error: Lengths not equal)");
};
if ((a->referenceList0EntryCount) == (b->referenceList0EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->referenceList0EntryCount; ++i) {
checkEqual_VkVideoEncodeH265DpbSlotInfoEXT(
a->pReferenceList0Entries + i, b->pReferenceList0Entries + i, onFail);
}
}
}
}
if (!((a->referenceList1EntryCount) == (b->referenceList1EntryCount))) {
onFail("a->referenceList1EntryCount (Error: Value not equal)");
};
if ((a->pReferenceList1Entries) && (b->pReferenceList1Entries)) {
if (!((a->referenceList1EntryCount) == (b->referenceList1EntryCount))) {
onFail("a->pReferenceList1Entries (Error: Lengths not equal)");
};
if ((a->referenceList1EntryCount) == (b->referenceList1EntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->referenceList1EntryCount; ++i) {
checkEqual_VkVideoEncodeH265DpbSlotInfoEXT(
a->pReferenceList1Entries + i, b->pReferenceList1Entries + i, onFail);
}
}
}
}
if (!((memcmp(a->pReferenceModifications, b->pReferenceModifications,
sizeof(const StdVideoEncodeH265ReferenceModifications)) == 0))) {
onFail("a->pReferenceModifications (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH265NaluSliceEXT(const VkVideoEncodeH265NaluSliceEXT* a,
const VkVideoEncodeH265NaluSliceEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->ctbCount) == (b->ctbCount))) {
onFail("a->ctbCount (Error: Value not equal)");
};
if (!((!(a->pReferenceFinalLists) && !(b->pReferenceFinalLists)) ||
((a->pReferenceFinalLists) && (b->pReferenceFinalLists)))) {
onFail("a->pReferenceFinalLists (Error: Mismatch in optional field)");
};
if (a->pReferenceFinalLists && b->pReferenceFinalLists) {
if ((a->pReferenceFinalLists) && (b->pReferenceFinalLists)) {
checkEqual_VkVideoEncodeH265ReferenceListsEXT(a->pReferenceFinalLists,
b->pReferenceFinalLists, onFail);
}
}
if (!((memcmp(a->pSliceHeaderStd, b->pSliceHeaderStd,
sizeof(const StdVideoEncodeH265SliceHeader)) == 0))) {
onFail("a->pSliceHeaderStd (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH265VclFrameInfoEXT(const VkVideoEncodeH265VclFrameInfoEXT* a,
const VkVideoEncodeH265VclFrameInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pReferenceFinalLists) && !(b->pReferenceFinalLists)) ||
((a->pReferenceFinalLists) && (b->pReferenceFinalLists)))) {
onFail("a->pReferenceFinalLists (Error: Mismatch in optional field)");
};
if (a->pReferenceFinalLists && b->pReferenceFinalLists) {
if ((a->pReferenceFinalLists) && (b->pReferenceFinalLists)) {
checkEqual_VkVideoEncodeH265ReferenceListsEXT(a->pReferenceFinalLists,
b->pReferenceFinalLists, onFail);
}
}
if (!((a->naluSliceEntryCount) == (b->naluSliceEntryCount))) {
onFail("a->naluSliceEntryCount (Error: Value not equal)");
};
if ((a->pNaluSliceEntries) && (b->pNaluSliceEntries)) {
if (!((a->naluSliceEntryCount) == (b->naluSliceEntryCount))) {
onFail("a->pNaluSliceEntries (Error: Lengths not equal)");
};
if ((a->naluSliceEntryCount) == (b->naluSliceEntryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->naluSliceEntryCount; ++i) {
checkEqual_VkVideoEncodeH265NaluSliceEXT(a->pNaluSliceEntries + i,
b->pNaluSliceEntries + i, onFail);
}
}
}
}
if (!((memcmp(a->pCurrentPictureInfo, b->pCurrentPictureInfo,
sizeof(const StdVideoEncodeH265PictureInfo)) == 0))) {
onFail("a->pCurrentPictureInfo (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH265EmitPictureParametersEXT(
const VkVideoEncodeH265EmitPictureParametersEXT* a,
const VkVideoEncodeH265EmitPictureParametersEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vpsId) == (b->vpsId))) {
onFail("a->vpsId (Error: Value not equal)");
};
if (!((a->spsId) == (b->spsId))) {
onFail("a->spsId (Error: Value not equal)");
};
if (!((a->emitVpsEnable) == (b->emitVpsEnable))) {
onFail("a->emitVpsEnable (Error: Value not equal)");
};
if (!((a->emitSpsEnable) == (b->emitSpsEnable))) {
onFail("a->emitSpsEnable (Error: Value not equal)");
};
if (!((a->ppsIdEntryCount) == (b->ppsIdEntryCount))) {
onFail("a->ppsIdEntryCount (Error: Value not equal)");
};
if (!((a->ppsIdEntryCount) == (b->ppsIdEntryCount))) {
onFail("a->ppsIdEntries (Error: Lengths not equal)");
};
if (!((memcmp(a->ppsIdEntries, b->ppsIdEntries, a->ppsIdEntryCount * sizeof(const uint8_t)) ==
0))) {
onFail("a->ppsIdEntries (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoEncodeH265ProfileEXT(const VkVideoEncodeH265ProfileEXT* a,
const VkVideoEncodeH265ProfileEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stdProfileIdc) == (b->stdProfileIdc))) {
onFail("a->stdProfileIdc (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_video_decode_h264
void checkEqual_VkVideoDecodeH264ProfileEXT(const VkVideoDecodeH264ProfileEXT* a,
const VkVideoDecodeH264ProfileEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stdProfileIdc) == (b->stdProfileIdc))) {
onFail("a->stdProfileIdc (Error: Value not equal)");
};
if (!((a->pictureLayout) == (b->pictureLayout))) {
onFail("a->pictureLayout (Error: Value not equal)");
};
}
void checkEqual_VkVideoDecodeH264CapabilitiesEXT(const VkVideoDecodeH264CapabilitiesEXT* a,
const VkVideoDecodeH264CapabilitiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxLevel) == (b->maxLevel))) {
onFail("a->maxLevel (Error: Value not equal)");
};
checkEqual_VkOffset2D(&a->fieldOffsetGranularity, &b->fieldOffsetGranularity, onFail);
checkEqual_VkExtensionProperties(&a->stdExtensionVersion, &b->stdExtensionVersion, onFail);
}
void checkEqual_VkVideoDecodeH264SessionCreateInfoEXT(
const VkVideoDecodeH264SessionCreateInfoEXT* a, const VkVideoDecodeH264SessionCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if ((a->pStdExtensionVersion) && (b->pStdExtensionVersion)) {
checkEqual_VkExtensionProperties(a->pStdExtensionVersion, b->pStdExtensionVersion, onFail);
}
}
void checkEqual_VkVideoDecodeH264SessionParametersAddInfoEXT(
const VkVideoDecodeH264SessionParametersAddInfoEXT* a,
const VkVideoDecodeH264SessionParametersAddInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->spsStdCount (Error: Value not equal)");
};
if (!((!(a->pSpsStd) && !(b->pSpsStd)) || ((a->pSpsStd) && (b->pSpsStd)))) {
onFail("a->pSpsStd (Error: Mismatch in optional field)");
};
if (a->pSpsStd && b->pSpsStd) {
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->pSpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pSpsStd, b->pSpsStd,
a->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)) == 0))) {
onFail("a->pSpsStd (Error: Unequal dyn array)");
};
}
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->ppsStdCount (Error: Value not equal)");
};
if (!((!(a->pPpsStd) && !(b->pPpsStd)) || ((a->pPpsStd) && (b->pPpsStd)))) {
onFail("a->pPpsStd (Error: Mismatch in optional field)");
};
if (a->pPpsStd && b->pPpsStd) {
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->pPpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pPpsStd, b->pPpsStd,
a->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)) == 0))) {
onFail("a->pPpsStd (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkVideoDecodeH264SessionParametersCreateInfoEXT(
const VkVideoDecodeH264SessionParametersCreateInfoEXT* a,
const VkVideoDecodeH264SessionParametersCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxSpsStdCount) == (b->maxSpsStdCount))) {
onFail("a->maxSpsStdCount (Error: Value not equal)");
};
if (!((a->maxPpsStdCount) == (b->maxPpsStdCount))) {
onFail("a->maxPpsStdCount (Error: Value not equal)");
};
if (!((!(a->pParametersAddInfo) && !(b->pParametersAddInfo)) ||
((a->pParametersAddInfo) && (b->pParametersAddInfo)))) {
onFail("a->pParametersAddInfo (Error: Mismatch in optional field)");
};
if (a->pParametersAddInfo && b->pParametersAddInfo) {
if ((a->pParametersAddInfo) && (b->pParametersAddInfo)) {
checkEqual_VkVideoDecodeH264SessionParametersAddInfoEXT(a->pParametersAddInfo,
b->pParametersAddInfo, onFail);
}
}
}
void checkEqual_VkVideoDecodeH264PictureInfoEXT(const VkVideoDecodeH264PictureInfoEXT* a,
const VkVideoDecodeH264PictureInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pStdPictureInfo, b->pStdPictureInfo,
sizeof(const StdVideoDecodeH264PictureInfo)) == 0))) {
onFail("a->pStdPictureInfo (Error: Unequal dyn array)");
};
if (!((a->slicesCount) == (b->slicesCount))) {
onFail("a->slicesCount (Error: Value not equal)");
};
if (!((a->slicesCount) == (b->slicesCount))) {
onFail("a->pSlicesDataOffsets (Error: Lengths not equal)");
};
if (!((memcmp(a->pSlicesDataOffsets, b->pSlicesDataOffsets,
a->slicesCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pSlicesDataOffsets (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoDecodeH264MvcEXT(const VkVideoDecodeH264MvcEXT* a,
const VkVideoDecodeH264MvcEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pStdMvc, b->pStdMvc, sizeof(const StdVideoDecodeH264Mvc)) == 0))) {
onFail("a->pStdMvc (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoDecodeH264DpbSlotInfoEXT(const VkVideoDecodeH264DpbSlotInfoEXT* a,
const VkVideoDecodeH264DpbSlotInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pStdReferenceInfo, b->pStdReferenceInfo,
sizeof(const StdVideoDecodeH264ReferenceInfo)) == 0))) {
onFail("a->pStdReferenceInfo (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
void checkEqual_VkTextureLODGatherFormatPropertiesAMD(
const VkTextureLODGatherFormatPropertiesAMD* a, const VkTextureLODGatherFormatPropertiesAMD* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->supportsTextureGatherLODBiasAMD) == (b->supportsTextureGatherLODBiasAMD))) {
onFail("a->supportsTextureGatherLODBiasAMD (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_shader_info
void checkEqual_VkShaderResourceUsageAMD(const VkShaderResourceUsageAMD* a,
const VkShaderResourceUsageAMD* b,
OnFailCompareFunc onFail) {
if (!((a->numUsedVgprs) == (b->numUsedVgprs))) {
onFail("a->numUsedVgprs (Error: Value not equal)");
};
if (!((a->numUsedSgprs) == (b->numUsedSgprs))) {
onFail("a->numUsedSgprs (Error: Value not equal)");
};
if (!((a->ldsSizePerLocalWorkGroup) == (b->ldsSizePerLocalWorkGroup))) {
onFail("a->ldsSizePerLocalWorkGroup (Error: Value not equal)");
};
if (!((a->ldsUsageSizeInBytes) == (b->ldsUsageSizeInBytes))) {
onFail("a->ldsUsageSizeInBytes (Error: Value not equal)");
};
if (!((a->scratchMemUsageInBytes) == (b->scratchMemUsageInBytes))) {
onFail("a->scratchMemUsageInBytes (Error: Value not equal)");
};
}
void checkEqual_VkShaderStatisticsInfoAMD(const VkShaderStatisticsInfoAMD* a,
const VkShaderStatisticsInfoAMD* b,
OnFailCompareFunc onFail) {
if (!((a->shaderStageMask) == (b->shaderStageMask))) {
onFail("a->shaderStageMask (Error: Value not equal)");
};
checkEqual_VkShaderResourceUsageAMD(&a->resourceUsage, &b->resourceUsage, onFail);
if (!((a->numPhysicalVgprs) == (b->numPhysicalVgprs))) {
onFail("a->numPhysicalVgprs (Error: Value not equal)");
};
if (!((a->numPhysicalSgprs) == (b->numPhysicalSgprs))) {
onFail("a->numPhysicalSgprs (Error: Value not equal)");
};
if (!((a->numAvailableVgprs) == (b->numAvailableVgprs))) {
onFail("a->numAvailableVgprs (Error: Value not equal)");
};
if (!((a->numAvailableSgprs) == (b->numAvailableSgprs))) {
onFail("a->numAvailableSgprs (Error: Value not equal)");
};
if (!((memcmp(a->computeWorkGroupSize, b->computeWorkGroupSize, 3 * sizeof(uint32_t)) == 0))) {
onFail("a->computeWorkGroupSize (Error: Unequal static array)");
};
}
#endif
#ifdef VK_AMD_shader_image_load_store_lod
#endif
#ifdef VK_GGP_stream_descriptor_surface
void checkEqual_VkStreamDescriptorSurfaceCreateInfoGGP(
const VkStreamDescriptorSurfaceCreateInfoGGP* a,
const VkStreamDescriptorSurfaceCreateInfoGGP* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->streamDescriptor) == (b->streamDescriptor))) {
onFail("a->streamDescriptor (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_corner_sampled_image
void checkEqual_VkPhysicalDeviceCornerSampledImageFeaturesNV(
const VkPhysicalDeviceCornerSampledImageFeaturesNV* a,
const VkPhysicalDeviceCornerSampledImageFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->cornerSampledImage) == (b->cornerSampledImage))) {
onFail("a->cornerSampledImage (Error: Value not equal)");
};
}
#endif
#ifdef VK_IMG_format_pvrtc
#endif
#ifdef VK_NV_external_memory_capabilities
void checkEqual_VkExternalImageFormatPropertiesNV(const VkExternalImageFormatPropertiesNV* a,
const VkExternalImageFormatPropertiesNV* b,
OnFailCompareFunc onFail) {
checkEqual_VkImageFormatProperties(&a->imageFormatProperties, &b->imageFormatProperties,
onFail);
if (!((a->externalMemoryFeatures) == (b->externalMemoryFeatures))) {
onFail("a->externalMemoryFeatures (Error: Value not equal)");
};
if (!((a->exportFromImportedHandleTypes) == (b->exportFromImportedHandleTypes))) {
onFail("a->exportFromImportedHandleTypes (Error: Value not equal)");
};
if (!((a->compatibleHandleTypes) == (b->compatibleHandleTypes))) {
onFail("a->compatibleHandleTypes (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_external_memory
void checkEqual_VkExternalMemoryImageCreateInfoNV(const VkExternalMemoryImageCreateInfoNV* a,
const VkExternalMemoryImageCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
void checkEqual_VkExportMemoryAllocateInfoNV(const VkExportMemoryAllocateInfoNV* a,
const VkExportMemoryAllocateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleTypes) == (b->handleTypes))) {
onFail("a->handleTypes (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_external_memory_win32
void checkEqual_VkImportMemoryWin32HandleInfoNV(const VkImportMemoryWin32HandleInfoNV* a,
const VkImportMemoryWin32HandleInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->handle) == (b->handle))) {
onFail("a->handle (Error: Value not equal)");
};
}
void checkEqual_VkExportMemoryWin32HandleInfoNV(const VkExportMemoryWin32HandleInfoNV* a,
const VkExportMemoryWin32HandleInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pAttributes) && !(b->pAttributes)) || ((a->pAttributes) && (b->pAttributes)))) {
onFail("a->pAttributes (Error: Mismatch in optional field)");
};
if (a->pAttributes && b->pAttributes) {
if (!((memcmp(a->pAttributes, b->pAttributes, sizeof(const SECURITY_ATTRIBUTES)) == 0))) {
onFail("a->pAttributes (Error: Unequal dyn array)");
};
}
if (!((a->dwAccess) == (b->dwAccess))) {
onFail("a->dwAccess (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_win32_keyed_mutex
void checkEqual_VkWin32KeyedMutexAcquireReleaseInfoNV(
const VkWin32KeyedMutexAcquireReleaseInfoNV* a, const VkWin32KeyedMutexAcquireReleaseInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->acquireCount (Error: Value not equal)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireSyncs (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireSyncs, b->pAcquireSyncs,
a->acquireCount * sizeof(const VkDeviceMemory)) == 0))) {
onFail("a->pAcquireSyncs (Error: Unequal dyn array)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireKeys (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireKeys, b->pAcquireKeys, a->acquireCount * sizeof(const uint64_t)) ==
0))) {
onFail("a->pAcquireKeys (Error: Unequal dyn array)");
};
if (!((a->acquireCount) == (b->acquireCount))) {
onFail("a->pAcquireTimeoutMilliseconds (Error: Lengths not equal)");
};
if (!((memcmp(a->pAcquireTimeoutMilliseconds, b->pAcquireTimeoutMilliseconds,
a->acquireCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pAcquireTimeoutMilliseconds (Error: Unequal dyn array)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->releaseCount (Error: Value not equal)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->pReleaseSyncs (Error: Lengths not equal)");
};
if (!((memcmp(a->pReleaseSyncs, b->pReleaseSyncs,
a->releaseCount * sizeof(const VkDeviceMemory)) == 0))) {
onFail("a->pReleaseSyncs (Error: Unequal dyn array)");
};
if (!((a->releaseCount) == (b->releaseCount))) {
onFail("a->pReleaseKeys (Error: Lengths not equal)");
};
if (!((memcmp(a->pReleaseKeys, b->pReleaseKeys, a->releaseCount * sizeof(const uint64_t)) ==
0))) {
onFail("a->pReleaseKeys (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_EXT_validation_flags
void checkEqual_VkValidationFlagsEXT(const VkValidationFlagsEXT* a, const VkValidationFlagsEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->disabledValidationCheckCount) == (b->disabledValidationCheckCount))) {
onFail("a->disabledValidationCheckCount (Error: Value not equal)");
};
if (!((a->disabledValidationCheckCount) == (b->disabledValidationCheckCount))) {
onFail("a->pDisabledValidationChecks (Error: Lengths not equal)");
};
if (!((memcmp(a->pDisabledValidationChecks, b->pDisabledValidationChecks,
a->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT)) == 0))) {
onFail("a->pDisabledValidationChecks (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_NN_vi_surface
void checkEqual_VkViSurfaceCreateInfoNN(const VkViSurfaceCreateInfoNN* a,
const VkViSurfaceCreateInfoNN* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->window) && !(b->window)) || ((a->window) && (b->window)))) {
onFail("a->window (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_EXT_shader_subgroup_ballot
#endif
#ifdef VK_EXT_shader_subgroup_vote
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
void checkEqual_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* a,
const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->textureCompressionASTC_HDR) == (b->textureCompressionASTC_HDR))) {
onFail("a->textureCompressionASTC_HDR (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_astc_decode_mode
void checkEqual_VkImageViewASTCDecodeModeEXT(const VkImageViewASTCDecodeModeEXT* a,
const VkImageViewASTCDecodeModeEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->decodeMode) == (b->decodeMode))) {
onFail("a->decodeMode (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceASTCDecodeFeaturesEXT(
const VkPhysicalDeviceASTCDecodeFeaturesEXT* a, const VkPhysicalDeviceASTCDecodeFeaturesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->decodeModeSharedExponent) == (b->decodeModeSharedExponent))) {
onFail("a->decodeModeSharedExponent (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_conditional_rendering
void checkEqual_VkConditionalRenderingBeginInfoEXT(const VkConditionalRenderingBeginInfoEXT* a,
const VkConditionalRenderingBeginInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
const VkPhysicalDeviceConditionalRenderingFeaturesEXT* a,
const VkPhysicalDeviceConditionalRenderingFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->conditionalRendering) == (b->conditionalRendering))) {
onFail("a->conditionalRendering (Error: Value not equal)");
};
if (!((a->inheritedConditionalRendering) == (b->inheritedConditionalRendering))) {
onFail("a->inheritedConditionalRendering (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
const VkCommandBufferInheritanceConditionalRenderingInfoEXT* a,
const VkCommandBufferInheritanceConditionalRenderingInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->conditionalRenderingEnable) == (b->conditionalRenderingEnable))) {
onFail("a->conditionalRenderingEnable (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_clip_space_w_scaling
void checkEqual_VkViewportWScalingNV(const VkViewportWScalingNV* a, const VkViewportWScalingNV* b,
OnFailCompareFunc onFail) {
if (!((a->xcoeff) == (b->xcoeff))) {
onFail("a->xcoeff (Error: Value not equal)");
};
if (!((a->ycoeff) == (b->ycoeff))) {
onFail("a->ycoeff (Error: Value not equal)");
};
}
void checkEqual_VkPipelineViewportWScalingStateCreateInfoNV(
const VkPipelineViewportWScalingStateCreateInfoNV* a,
const VkPipelineViewportWScalingStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->viewportWScalingEnable) == (b->viewportWScalingEnable))) {
onFail("a->viewportWScalingEnable (Error: Value not equal)");
};
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->viewportCount (Error: Value not equal)");
};
if (!((!(a->pViewportWScalings) && !(b->pViewportWScalings)) ||
((a->pViewportWScalings) && (b->pViewportWScalings)))) {
onFail("a->pViewportWScalings (Error: Mismatch in optional field)");
};
if (a->pViewportWScalings && b->pViewportWScalings) {
if ((a->pViewportWScalings) && (b->pViewportWScalings)) {
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->pViewportWScalings (Error: Lengths not equal)");
};
if ((a->viewportCount) == (b->viewportCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->viewportCount; ++i) {
checkEqual_VkViewportWScalingNV(a->pViewportWScalings + i,
b->pViewportWScalings + i, onFail);
}
}
}
}
}
}
#endif
#ifdef VK_EXT_direct_mode_display
#endif
#ifdef VK_EXT_acquire_xlib_display
#endif
#ifdef VK_EXT_display_surface_counter
void checkEqual_VkSurfaceCapabilities2EXT(const VkSurfaceCapabilities2EXT* a,
const VkSurfaceCapabilities2EXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->minImageCount) == (b->minImageCount))) {
onFail("a->minImageCount (Error: Value not equal)");
};
if (!((a->maxImageCount) == (b->maxImageCount))) {
onFail("a->maxImageCount (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->currentExtent, &b->currentExtent, onFail);
checkEqual_VkExtent2D(&a->minImageExtent, &b->minImageExtent, onFail);
checkEqual_VkExtent2D(&a->maxImageExtent, &b->maxImageExtent, onFail);
if (!((a->maxImageArrayLayers) == (b->maxImageArrayLayers))) {
onFail("a->maxImageArrayLayers (Error: Value not equal)");
};
if (!((a->supportedTransforms) == (b->supportedTransforms))) {
onFail("a->supportedTransforms (Error: Value not equal)");
};
if (!((a->currentTransform) == (b->currentTransform))) {
onFail("a->currentTransform (Error: Value not equal)");
};
if (!((a->supportedCompositeAlpha) == (b->supportedCompositeAlpha))) {
onFail("a->supportedCompositeAlpha (Error: Value not equal)");
};
if (!((a->supportedUsageFlags) == (b->supportedUsageFlags))) {
onFail("a->supportedUsageFlags (Error: Value not equal)");
};
if (!((a->supportedSurfaceCounters) == (b->supportedSurfaceCounters))) {
onFail("a->supportedSurfaceCounters (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_display_control
void checkEqual_VkDisplayPowerInfoEXT(const VkDisplayPowerInfoEXT* a,
const VkDisplayPowerInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->powerState) == (b->powerState))) {
onFail("a->powerState (Error: Value not equal)");
};
}
void checkEqual_VkDeviceEventInfoEXT(const VkDeviceEventInfoEXT* a, const VkDeviceEventInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceEvent) == (b->deviceEvent))) {
onFail("a->deviceEvent (Error: Value not equal)");
};
}
void checkEqual_VkDisplayEventInfoEXT(const VkDisplayEventInfoEXT* a,
const VkDisplayEventInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->displayEvent) == (b->displayEvent))) {
onFail("a->displayEvent (Error: Value not equal)");
};
}
void checkEqual_VkSwapchainCounterCreateInfoEXT(const VkSwapchainCounterCreateInfoEXT* a,
const VkSwapchainCounterCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->surfaceCounters) == (b->surfaceCounters))) {
onFail("a->surfaceCounters (Error: Value not equal)");
};
}
#endif
#ifdef VK_GOOGLE_display_timing
void checkEqual_VkRefreshCycleDurationGOOGLE(const VkRefreshCycleDurationGOOGLE* a,
const VkRefreshCycleDurationGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->refreshDuration) == (b->refreshDuration))) {
onFail("a->refreshDuration (Error: Value not equal)");
};
}
void checkEqual_VkPastPresentationTimingGOOGLE(const VkPastPresentationTimingGOOGLE* a,
const VkPastPresentationTimingGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->presentID) == (b->presentID))) {
onFail("a->presentID (Error: Value not equal)");
};
if (!((a->desiredPresentTime) == (b->desiredPresentTime))) {
onFail("a->desiredPresentTime (Error: Value not equal)");
};
if (!((a->actualPresentTime) == (b->actualPresentTime))) {
onFail("a->actualPresentTime (Error: Value not equal)");
};
if (!((a->earliestPresentTime) == (b->earliestPresentTime))) {
onFail("a->earliestPresentTime (Error: Value not equal)");
};
if (!((a->presentMargin) == (b->presentMargin))) {
onFail("a->presentMargin (Error: Value not equal)");
};
}
void checkEqual_VkPresentTimeGOOGLE(const VkPresentTimeGOOGLE* a, const VkPresentTimeGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->presentID) == (b->presentID))) {
onFail("a->presentID (Error: Value not equal)");
};
if (!((a->desiredPresentTime) == (b->desiredPresentTime))) {
onFail("a->desiredPresentTime (Error: Value not equal)");
};
}
void checkEqual_VkPresentTimesInfoGOOGLE(const VkPresentTimesInfoGOOGLE* a,
const VkPresentTimesInfoGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->swapchainCount (Error: Value not equal)");
};
if (!((!(a->pTimes) && !(b->pTimes)) || ((a->pTimes) && (b->pTimes)))) {
onFail("a->pTimes (Error: Mismatch in optional field)");
};
if (a->pTimes && b->pTimes) {
if ((a->pTimes) && (b->pTimes)) {
if (!((a->swapchainCount) == (b->swapchainCount))) {
onFail("a->pTimes (Error: Lengths not equal)");
};
if ((a->swapchainCount) == (b->swapchainCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->swapchainCount; ++i) {
checkEqual_VkPresentTimeGOOGLE(a->pTimes + i, b->pTimes + i, onFail);
}
}
}
}
}
}
#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 checkEqual_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* a,
const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->perViewPositionAllComponents) == (b->perViewPositionAllComponents))) {
onFail("a->perViewPositionAllComponents (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_viewport_swizzle
void checkEqual_VkViewportSwizzleNV(const VkViewportSwizzleNV* a, const VkViewportSwizzleNV* b,
OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
if (!((a->z) == (b->z))) {
onFail("a->z (Error: Value not equal)");
};
if (!((a->w) == (b->w))) {
onFail("a->w (Error: Value not equal)");
};
}
void checkEqual_VkPipelineViewportSwizzleStateCreateInfoNV(
const VkPipelineViewportSwizzleStateCreateInfoNV* a,
const VkPipelineViewportSwizzleStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->viewportCount (Error: Value not equal)");
};
if (!((!(a->pViewportSwizzles) && !(b->pViewportSwizzles)) ||
((a->pViewportSwizzles) && (b->pViewportSwizzles)))) {
onFail("a->pViewportSwizzles (Error: Mismatch in optional field)");
};
if (a->pViewportSwizzles && b->pViewportSwizzles) {
if ((a->pViewportSwizzles) && (b->pViewportSwizzles)) {
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->pViewportSwizzles (Error: Lengths not equal)");
};
if ((a->viewportCount) == (b->viewportCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->viewportCount; ++i) {
checkEqual_VkViewportSwizzleNV(a->pViewportSwizzles + i,
b->pViewportSwizzles + i, onFail);
}
}
}
}
}
}
#endif
#ifdef VK_EXT_discard_rectangles
void checkEqual_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
const VkPhysicalDeviceDiscardRectanglePropertiesEXT* a,
const VkPhysicalDeviceDiscardRectanglePropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxDiscardRectangles) == (b->maxDiscardRectangles))) {
onFail("a->maxDiscardRectangles (Error: Value not equal)");
};
}
void checkEqual_VkPipelineDiscardRectangleStateCreateInfoEXT(
const VkPipelineDiscardRectangleStateCreateInfoEXT* a,
const VkPipelineDiscardRectangleStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->discardRectangleMode) == (b->discardRectangleMode))) {
onFail("a->discardRectangleMode (Error: Value not equal)");
};
if (!((a->discardRectangleCount) == (b->discardRectangleCount))) {
onFail("a->discardRectangleCount (Error: Value not equal)");
};
if (!((!(a->pDiscardRectangles) && !(b->pDiscardRectangles)) ||
((a->pDiscardRectangles) && (b->pDiscardRectangles)))) {
onFail("a->pDiscardRectangles (Error: Mismatch in optional field)");
};
if (a->pDiscardRectangles && b->pDiscardRectangles) {
if ((a->pDiscardRectangles) && (b->pDiscardRectangles)) {
if (!((a->discardRectangleCount) == (b->discardRectangleCount))) {
onFail("a->pDiscardRectangles (Error: Lengths not equal)");
};
if ((a->discardRectangleCount) == (b->discardRectangleCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->discardRectangleCount; ++i) {
checkEqual_VkRect2D(a->pDiscardRectangles + i, b->pDiscardRectangles + i,
onFail);
}
}
}
}
}
}
#endif
#ifdef VK_EXT_conservative_rasterization
void checkEqual_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* a,
const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->primitiveOverestimationSize) == (b->primitiveOverestimationSize))) {
onFail("a->primitiveOverestimationSize (Error: Value not equal)");
};
if (!((a->maxExtraPrimitiveOverestimationSize) == (b->maxExtraPrimitiveOverestimationSize))) {
onFail("a->maxExtraPrimitiveOverestimationSize (Error: Value not equal)");
};
if (!((a->extraPrimitiveOverestimationSizeGranularity) ==
(b->extraPrimitiveOverestimationSizeGranularity))) {
onFail("a->extraPrimitiveOverestimationSizeGranularity (Error: Value not equal)");
};
if (!((a->primitiveUnderestimation) == (b->primitiveUnderestimation))) {
onFail("a->primitiveUnderestimation (Error: Value not equal)");
};
if (!((a->conservativePointAndLineRasterization) ==
(b->conservativePointAndLineRasterization))) {
onFail("a->conservativePointAndLineRasterization (Error: Value not equal)");
};
if (!((a->degenerateTrianglesRasterized) == (b->degenerateTrianglesRasterized))) {
onFail("a->degenerateTrianglesRasterized (Error: Value not equal)");
};
if (!((a->degenerateLinesRasterized) == (b->degenerateLinesRasterized))) {
onFail("a->degenerateLinesRasterized (Error: Value not equal)");
};
if (!((a->fullyCoveredFragmentShaderInputVariable) ==
(b->fullyCoveredFragmentShaderInputVariable))) {
onFail("a->fullyCoveredFragmentShaderInputVariable (Error: Value not equal)");
};
if (!((a->conservativeRasterizationPostDepthCoverage) ==
(b->conservativeRasterizationPostDepthCoverage))) {
onFail("a->conservativeRasterizationPostDepthCoverage (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRasterizationConservativeStateCreateInfoEXT(
const VkPipelineRasterizationConservativeStateCreateInfoEXT* a,
const VkPipelineRasterizationConservativeStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->conservativeRasterizationMode) == (b->conservativeRasterizationMode))) {
onFail("a->conservativeRasterizationMode (Error: Value not equal)");
};
if (!((a->extraPrimitiveOverestimationSize) == (b->extraPrimitiveOverestimationSize))) {
onFail("a->extraPrimitiveOverestimationSize (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_depth_clip_enable
void checkEqual_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
const VkPhysicalDeviceDepthClipEnableFeaturesEXT* a,
const VkPhysicalDeviceDepthClipEnableFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->depthClipEnable) == (b->depthClipEnable))) {
onFail("a->depthClipEnable (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
const VkPipelineRasterizationDepthClipStateCreateInfoEXT* a,
const VkPipelineRasterizationDepthClipStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->depthClipEnable) == (b->depthClipEnable))) {
onFail("a->depthClipEnable (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_hdr_metadata
void checkEqual_VkXYColorEXT(const VkXYColorEXT* a, const VkXYColorEXT* b,
OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
}
void checkEqual_VkHdrMetadataEXT(const VkHdrMetadataEXT* a, const VkHdrMetadataEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkXYColorEXT(&a->displayPrimaryRed, &b->displayPrimaryRed, onFail);
checkEqual_VkXYColorEXT(&a->displayPrimaryGreen, &b->displayPrimaryGreen, onFail);
checkEqual_VkXYColorEXT(&a->displayPrimaryBlue, &b->displayPrimaryBlue, onFail);
checkEqual_VkXYColorEXT(&a->whitePoint, &b->whitePoint, onFail);
if (!((a->maxLuminance) == (b->maxLuminance))) {
onFail("a->maxLuminance (Error: Value not equal)");
};
if (!((a->minLuminance) == (b->minLuminance))) {
onFail("a->minLuminance (Error: Value not equal)");
};
if (!((a->maxContentLightLevel) == (b->maxContentLightLevel))) {
onFail("a->maxContentLightLevel (Error: Value not equal)");
};
if (!((a->maxFrameAverageLightLevel) == (b->maxFrameAverageLightLevel))) {
onFail("a->maxFrameAverageLightLevel (Error: Value not equal)");
};
}
#endif
#ifdef VK_MVK_ios_surface
void checkEqual_VkIOSSurfaceCreateInfoMVK(const VkIOSSurfaceCreateInfoMVK* a,
const VkIOSSurfaceCreateInfoMVK* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pView) && !(b->pView)) || ((a->pView) && (b->pView)))) {
onFail("a->pView (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_MVK_macos_surface
void checkEqual_VkMacOSSurfaceCreateInfoMVK(const VkMacOSSurfaceCreateInfoMVK* a,
const VkMacOSSurfaceCreateInfoMVK* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pView) && !(b->pView)) || ((a->pView) && (b->pView)))) {
onFail("a->pView (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_MVK_moltenvk
#endif
#ifdef VK_EXT_external_memory_dma_buf
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
void checkEqual_VkDebugUtilsLabelEXT(const VkDebugUtilsLabelEXT* a, const VkDebugUtilsLabelEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pLabelName) && !(b->pLabelName)) || ((a->pLabelName) && (b->pLabelName)))) {
onFail("a->pLabelName (Error: Mismatch in string pointer nullness)");
};
if ((a->pLabelName) && (b->pLabelName)) {
if (!((strcmp(a->pLabelName, b->pLabelName) == 0))) {
onFail("a->pLabelName (Error: Unequal strings)");
};
}
if (!((memcmp(a->color, b->color, 4 * sizeof(float)) == 0))) {
onFail("a->color (Error: Unequal static array)");
};
}
void checkEqual_VkDebugUtilsObjectNameInfoEXT(const VkDebugUtilsObjectNameInfoEXT* a,
const VkDebugUtilsObjectNameInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->objectType) == (b->objectType))) {
onFail("a->objectType (Error: Value not equal)");
};
if (!((a->objectHandle) == (b->objectHandle))) {
onFail("a->objectHandle (Error: Value not equal)");
};
if (!((!(a->pObjectName) && !(b->pObjectName)) || ((a->pObjectName) && (b->pObjectName)))) {
onFail("a->pObjectName (Error: Mismatch in optional field)");
};
if (a->pObjectName && b->pObjectName) {
if (!((!(a->pObjectName) && !(b->pObjectName)) || ((a->pObjectName) && (b->pObjectName)))) {
onFail("a->pObjectName (Error: Mismatch in string pointer nullness)");
};
if ((a->pObjectName) && (b->pObjectName)) {
if (!((strcmp(a->pObjectName, b->pObjectName) == 0))) {
onFail("a->pObjectName (Error: Unequal strings)");
};
}
}
}
void checkEqual_VkDebugUtilsMessengerCallbackDataEXT(const VkDebugUtilsMessengerCallbackDataEXT* a,
const VkDebugUtilsMessengerCallbackDataEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pMessageIdName) && !(b->pMessageIdName)) ||
((a->pMessageIdName) && (b->pMessageIdName)))) {
onFail("a->pMessageIdName (Error: Mismatch in optional field)");
};
if (a->pMessageIdName && b->pMessageIdName) {
if (!((!(a->pMessageIdName) && !(b->pMessageIdName)) ||
((a->pMessageIdName) && (b->pMessageIdName)))) {
onFail("a->pMessageIdName (Error: Mismatch in string pointer nullness)");
};
if ((a->pMessageIdName) && (b->pMessageIdName)) {
if (!((strcmp(a->pMessageIdName, b->pMessageIdName) == 0))) {
onFail("a->pMessageIdName (Error: Unequal strings)");
};
}
}
if (!((a->messageIdNumber) == (b->messageIdNumber))) {
onFail("a->messageIdNumber (Error: Value not equal)");
};
if (!((!(a->pMessage) && !(b->pMessage)) || ((a->pMessage) && (b->pMessage)))) {
onFail("a->pMessage (Error: Mismatch in string pointer nullness)");
};
if ((a->pMessage) && (b->pMessage)) {
if (!((strcmp(a->pMessage, b->pMessage) == 0))) {
onFail("a->pMessage (Error: Unequal strings)");
};
}
if (!((a->queueLabelCount) == (b->queueLabelCount))) {
onFail("a->queueLabelCount (Error: Value not equal)");
};
if (!((!(a->pQueueLabels) && !(b->pQueueLabels)) || ((a->pQueueLabels) && (b->pQueueLabels)))) {
onFail("a->pQueueLabels (Error: Mismatch in optional field)");
};
if (a->pQueueLabels && b->pQueueLabels) {
if ((a->pQueueLabels) && (b->pQueueLabels)) {
if (!((a->queueLabelCount) == (b->queueLabelCount))) {
onFail("a->pQueueLabels (Error: Lengths not equal)");
};
if ((a->queueLabelCount) == (b->queueLabelCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->queueLabelCount; ++i) {
checkEqual_VkDebugUtilsLabelEXT(a->pQueueLabels + i, b->pQueueLabels + i,
onFail);
}
}
}
}
}
if (!((a->cmdBufLabelCount) == (b->cmdBufLabelCount))) {
onFail("a->cmdBufLabelCount (Error: Value not equal)");
};
if (!((!(a->pCmdBufLabels) && !(b->pCmdBufLabels)) ||
((a->pCmdBufLabels) && (b->pCmdBufLabels)))) {
onFail("a->pCmdBufLabels (Error: Mismatch in optional field)");
};
if (a->pCmdBufLabels && b->pCmdBufLabels) {
if ((a->pCmdBufLabels) && (b->pCmdBufLabels)) {
if (!((a->cmdBufLabelCount) == (b->cmdBufLabelCount))) {
onFail("a->pCmdBufLabels (Error: Lengths not equal)");
};
if ((a->cmdBufLabelCount) == (b->cmdBufLabelCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->cmdBufLabelCount; ++i) {
checkEqual_VkDebugUtilsLabelEXT(a->pCmdBufLabels + i, b->pCmdBufLabels + i,
onFail);
}
}
}
}
}
if (!((a->objectCount) == (b->objectCount))) {
onFail("a->objectCount (Error: Value not equal)");
};
if (!((!(a->pObjects) && !(b->pObjects)) || ((a->pObjects) && (b->pObjects)))) {
onFail("a->pObjects (Error: Mismatch in optional field)");
};
if (a->pObjects && b->pObjects) {
if ((a->pObjects) && (b->pObjects)) {
if (!((a->objectCount) == (b->objectCount))) {
onFail("a->pObjects (Error: Lengths not equal)");
};
if ((a->objectCount) == (b->objectCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->objectCount; ++i) {
checkEqual_VkDebugUtilsObjectNameInfoEXT(a->pObjects + i, b->pObjects + i,
onFail);
}
}
}
}
}
}
void checkEqual_VkDebugUtilsMessengerCreateInfoEXT(const VkDebugUtilsMessengerCreateInfoEXT* a,
const VkDebugUtilsMessengerCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->messageSeverity) == (b->messageSeverity))) {
onFail("a->messageSeverity (Error: Value not equal)");
};
if (!((a->messageType) == (b->messageType))) {
onFail("a->messageType (Error: Value not equal)");
};
if (!((a->pfnUserCallback) == (b->pfnUserCallback))) {
onFail("a->pfnUserCallback (Error: Value not equal)");
};
if (!((!(a->pUserData) && !(b->pUserData)) || ((a->pUserData) && (b->pUserData)))) {
onFail("a->pUserData (Error: Mismatch in optional field)");
};
}
void checkEqual_VkDebugUtilsObjectTagInfoEXT(const VkDebugUtilsObjectTagInfoEXT* a,
const VkDebugUtilsObjectTagInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->objectType) == (b->objectType))) {
onFail("a->objectType (Error: Value not equal)");
};
if (!((a->objectHandle) == (b->objectHandle))) {
onFail("a->objectHandle (Error: Value not equal)");
};
if (!((a->tagName) == (b->tagName))) {
onFail("a->tagName (Error: Value not equal)");
};
if (!((a->tagSize) == (b->tagSize))) {
onFail("a->tagSize (Error: Value not equal)");
};
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
void checkEqual_VkAndroidHardwareBufferUsageANDROID(const VkAndroidHardwareBufferUsageANDROID* a,
const VkAndroidHardwareBufferUsageANDROID* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->androidHardwareBufferUsage) == (b->androidHardwareBufferUsage))) {
onFail("a->androidHardwareBufferUsage (Error: Value not equal)");
};
}
void checkEqual_VkAndroidHardwareBufferPropertiesANDROID(
const VkAndroidHardwareBufferPropertiesANDROID* a,
const VkAndroidHardwareBufferPropertiesANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->allocationSize) == (b->allocationSize))) {
onFail("a->allocationSize (Error: Value not equal)");
};
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkAndroidHardwareBufferFormatPropertiesANDROID(
const VkAndroidHardwareBufferFormatPropertiesANDROID* a,
const VkAndroidHardwareBufferFormatPropertiesANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->externalFormat) == (b->externalFormat))) {
onFail("a->externalFormat (Error: Value not equal)");
};
if (!((a->formatFeatures) == (b->formatFeatures))) {
onFail("a->formatFeatures (Error: Value not equal)");
};
checkEqual_VkComponentMapping(&a->samplerYcbcrConversionComponents,
&b->samplerYcbcrConversionComponents, onFail);
if (!((a->suggestedYcbcrModel) == (b->suggestedYcbcrModel))) {
onFail("a->suggestedYcbcrModel (Error: Value not equal)");
};
if (!((a->suggestedYcbcrRange) == (b->suggestedYcbcrRange))) {
onFail("a->suggestedYcbcrRange (Error: Value not equal)");
};
if (!((a->suggestedXChromaOffset) == (b->suggestedXChromaOffset))) {
onFail("a->suggestedXChromaOffset (Error: Value not equal)");
};
if (!((a->suggestedYChromaOffset) == (b->suggestedYChromaOffset))) {
onFail("a->suggestedYChromaOffset (Error: Value not equal)");
};
}
void checkEqual_VkImportAndroidHardwareBufferInfoANDROID(
const VkImportAndroidHardwareBufferInfoANDROID* a,
const VkImportAndroidHardwareBufferInfoANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->buffer, b->buffer, sizeof(AHardwareBuffer)) == 0))) {
onFail("a->buffer (Error: Unequal dyn array)");
};
}
void checkEqual_VkMemoryGetAndroidHardwareBufferInfoANDROID(
const VkMemoryGetAndroidHardwareBufferInfoANDROID* a,
const VkMemoryGetAndroidHardwareBufferInfoANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
}
void checkEqual_VkExternalFormatANDROID(const VkExternalFormatANDROID* a,
const VkExternalFormatANDROID* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->externalFormat) == (b->externalFormat))) {
onFail("a->externalFormat (Error: Value not equal)");
};
}
void checkEqual_VkAndroidHardwareBufferFormatProperties2ANDROID(
const VkAndroidHardwareBufferFormatProperties2ANDROID* a,
const VkAndroidHardwareBufferFormatProperties2ANDROID* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->externalFormat) == (b->externalFormat))) {
onFail("a->externalFormat (Error: Value not equal)");
};
if (!((a->formatFeatures) == (b->formatFeatures))) {
onFail("a->formatFeatures (Error: Value not equal)");
};
checkEqual_VkComponentMapping(&a->samplerYcbcrConversionComponents,
&b->samplerYcbcrConversionComponents, onFail);
if (!((a->suggestedYcbcrModel) == (b->suggestedYcbcrModel))) {
onFail("a->suggestedYcbcrModel (Error: Value not equal)");
};
if (!((a->suggestedYcbcrRange) == (b->suggestedYcbcrRange))) {
onFail("a->suggestedYcbcrRange (Error: Value not equal)");
};
if (!((a->suggestedXChromaOffset) == (b->suggestedXChromaOffset))) {
onFail("a->suggestedXChromaOffset (Error: Value not equal)");
};
if (!((a->suggestedYChromaOffset) == (b->suggestedYChromaOffset))) {
onFail("a->suggestedYChromaOffset (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_sampler_filter_minmax
#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_inline_uniform_block
void checkEqual_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(
const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* a,
const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->inlineUniformBlock) == (b->inlineUniformBlock))) {
onFail("a->inlineUniformBlock (Error: Value not equal)");
};
if (!((a->descriptorBindingInlineUniformBlockUpdateAfterBind) ==
(b->descriptorBindingInlineUniformBlockUpdateAfterBind))) {
onFail("a->descriptorBindingInlineUniformBlockUpdateAfterBind (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(
const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* a,
const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxInlineUniformBlockSize) == (b->maxInlineUniformBlockSize))) {
onFail("a->maxInlineUniformBlockSize (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorInlineUniformBlocks) ==
(b->maxPerStageDescriptorInlineUniformBlocks))) {
onFail("a->maxPerStageDescriptorInlineUniformBlocks (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks) ==
(b->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks))) {
onFail(
"a->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks (Error: Value not equal)");
};
if (!((a->maxDescriptorSetInlineUniformBlocks) == (b->maxDescriptorSetInlineUniformBlocks))) {
onFail("a->maxDescriptorSetInlineUniformBlocks (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindInlineUniformBlocks) ==
(b->maxDescriptorSetUpdateAfterBindInlineUniformBlocks))) {
onFail("a->maxDescriptorSetUpdateAfterBindInlineUniformBlocks (Error: Value not equal)");
};
}
void checkEqual_VkWriteDescriptorSetInlineUniformBlockEXT(
const VkWriteDescriptorSetInlineUniformBlockEXT* a,
const VkWriteDescriptorSetInlineUniformBlockEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dataSize) == (b->dataSize))) {
onFail("a->dataSize (Error: Value not equal)");
};
}
void checkEqual_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(
const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* a,
const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxInlineUniformBlockBindings) == (b->maxInlineUniformBlockBindings))) {
onFail("a->maxInlineUniformBlockBindings (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_sample_locations
void checkEqual_VkSampleLocationEXT(const VkSampleLocationEXT* a, const VkSampleLocationEXT* b,
OnFailCompareFunc onFail) {
if (!((a->x) == (b->x))) {
onFail("a->x (Error: Value not equal)");
};
if (!((a->y) == (b->y))) {
onFail("a->y (Error: Value not equal)");
};
}
void checkEqual_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT* a,
const VkSampleLocationsInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sampleLocationsPerPixel) == (b->sampleLocationsPerPixel))) {
onFail("a->sampleLocationsPerPixel (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->sampleLocationGridSize, &b->sampleLocationGridSize, onFail);
if (!((a->sampleLocationsCount) == (b->sampleLocationsCount))) {
onFail("a->sampleLocationsCount (Error: Value not equal)");
};
if ((a->pSampleLocations) && (b->pSampleLocations)) {
if (!((a->sampleLocationsCount) == (b->sampleLocationsCount))) {
onFail("a->pSampleLocations (Error: Lengths not equal)");
};
if ((a->sampleLocationsCount) == (b->sampleLocationsCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->sampleLocationsCount; ++i) {
checkEqual_VkSampleLocationEXT(a->pSampleLocations + i, b->pSampleLocations + i,
onFail);
}
}
}
}
}
void checkEqual_VkAttachmentSampleLocationsEXT(const VkAttachmentSampleLocationsEXT* a,
const VkAttachmentSampleLocationsEXT* b,
OnFailCompareFunc onFail) {
if (!((a->attachmentIndex) == (b->attachmentIndex))) {
onFail("a->attachmentIndex (Error: Value not equal)");
};
checkEqual_VkSampleLocationsInfoEXT(&a->sampleLocationsInfo, &b->sampleLocationsInfo, onFail);
}
void checkEqual_VkSubpassSampleLocationsEXT(const VkSubpassSampleLocationsEXT* a,
const VkSubpassSampleLocationsEXT* b,
OnFailCompareFunc onFail) {
if (!((a->subpassIndex) == (b->subpassIndex))) {
onFail("a->subpassIndex (Error: Value not equal)");
};
checkEqual_VkSampleLocationsInfoEXT(&a->sampleLocationsInfo, &b->sampleLocationsInfo, onFail);
}
void checkEqual_VkRenderPassSampleLocationsBeginInfoEXT(
const VkRenderPassSampleLocationsBeginInfoEXT* a,
const VkRenderPassSampleLocationsBeginInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->attachmentInitialSampleLocationsCount) ==
(b->attachmentInitialSampleLocationsCount))) {
onFail("a->attachmentInitialSampleLocationsCount (Error: Value not equal)");
};
if ((a->pAttachmentInitialSampleLocations) && (b->pAttachmentInitialSampleLocations)) {
if (!((a->attachmentInitialSampleLocationsCount) ==
(b->attachmentInitialSampleLocationsCount))) {
onFail("a->pAttachmentInitialSampleLocations (Error: Lengths not equal)");
};
if ((a->attachmentInitialSampleLocationsCount) ==
(b->attachmentInitialSampleLocationsCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->attachmentInitialSampleLocationsCount; ++i) {
checkEqual_VkAttachmentSampleLocationsEXT(
a->pAttachmentInitialSampleLocations + i,
b->pAttachmentInitialSampleLocations + i, onFail);
}
}
}
}
if (!((a->postSubpassSampleLocationsCount) == (b->postSubpassSampleLocationsCount))) {
onFail("a->postSubpassSampleLocationsCount (Error: Value not equal)");
};
if ((a->pPostSubpassSampleLocations) && (b->pPostSubpassSampleLocations)) {
if (!((a->postSubpassSampleLocationsCount) == (b->postSubpassSampleLocationsCount))) {
onFail("a->pPostSubpassSampleLocations (Error: Lengths not equal)");
};
if ((a->postSubpassSampleLocationsCount) == (b->postSubpassSampleLocationsCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->postSubpassSampleLocationsCount; ++i) {
checkEqual_VkSubpassSampleLocationsEXT(a->pPostSubpassSampleLocations + i,
b->pPostSubpassSampleLocations + i,
onFail);
}
}
}
}
}
void checkEqual_VkPipelineSampleLocationsStateCreateInfoEXT(
const VkPipelineSampleLocationsStateCreateInfoEXT* a,
const VkPipelineSampleLocationsStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sampleLocationsEnable) == (b->sampleLocationsEnable))) {
onFail("a->sampleLocationsEnable (Error: Value not equal)");
};
checkEqual_VkSampleLocationsInfoEXT(&a->sampleLocationsInfo, &b->sampleLocationsInfo, onFail);
}
void checkEqual_VkPhysicalDeviceSampleLocationsPropertiesEXT(
const VkPhysicalDeviceSampleLocationsPropertiesEXT* a,
const VkPhysicalDeviceSampleLocationsPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sampleLocationSampleCounts) == (b->sampleLocationSampleCounts))) {
onFail("a->sampleLocationSampleCounts (Error: Value not equal)");
};
checkEqual_VkExtent2D(&a->maxSampleLocationGridSize, &b->maxSampleLocationGridSize, onFail);
if (!((memcmp(a->sampleLocationCoordinateRange, b->sampleLocationCoordinateRange,
2 * sizeof(float)) == 0))) {
onFail("a->sampleLocationCoordinateRange (Error: Unequal static array)");
};
if (!((a->sampleLocationSubPixelBits) == (b->sampleLocationSubPixelBits))) {
onFail("a->sampleLocationSubPixelBits (Error: Value not equal)");
};
if (!((a->variableSampleLocations) == (b->variableSampleLocations))) {
onFail("a->variableSampleLocations (Error: Value not equal)");
};
}
void checkEqual_VkMultisamplePropertiesEXT(const VkMultisamplePropertiesEXT* a,
const VkMultisamplePropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExtent2D(&a->maxSampleLocationGridSize, &b->maxSampleLocationGridSize, onFail);
}
#endif
#ifdef VK_EXT_blend_operation_advanced
void checkEqual_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* a,
const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->advancedBlendCoherentOperations) == (b->advancedBlendCoherentOperations))) {
onFail("a->advancedBlendCoherentOperations (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* a,
const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->advancedBlendMaxColorAttachments) == (b->advancedBlendMaxColorAttachments))) {
onFail("a->advancedBlendMaxColorAttachments (Error: Value not equal)");
};
if (!((a->advancedBlendIndependentBlend) == (b->advancedBlendIndependentBlend))) {
onFail("a->advancedBlendIndependentBlend (Error: Value not equal)");
};
if (!((a->advancedBlendNonPremultipliedSrcColor) ==
(b->advancedBlendNonPremultipliedSrcColor))) {
onFail("a->advancedBlendNonPremultipliedSrcColor (Error: Value not equal)");
};
if (!((a->advancedBlendNonPremultipliedDstColor) ==
(b->advancedBlendNonPremultipliedDstColor))) {
onFail("a->advancedBlendNonPremultipliedDstColor (Error: Value not equal)");
};
if (!((a->advancedBlendCorrelatedOverlap) == (b->advancedBlendCorrelatedOverlap))) {
onFail("a->advancedBlendCorrelatedOverlap (Error: Value not equal)");
};
if (!((a->advancedBlendAllOperations) == (b->advancedBlendAllOperations))) {
onFail("a->advancedBlendAllOperations (Error: Value not equal)");
};
}
void checkEqual_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
const VkPipelineColorBlendAdvancedStateCreateInfoEXT* a,
const VkPipelineColorBlendAdvancedStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->srcPremultiplied) == (b->srcPremultiplied))) {
onFail("a->srcPremultiplied (Error: Value not equal)");
};
if (!((a->dstPremultiplied) == (b->dstPremultiplied))) {
onFail("a->dstPremultiplied (Error: Value not equal)");
};
if (!((a->blendOverlap) == (b->blendOverlap))) {
onFail("a->blendOverlap (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
void checkEqual_VkPipelineCoverageToColorStateCreateInfoNV(
const VkPipelineCoverageToColorStateCreateInfoNV* a,
const VkPipelineCoverageToColorStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->coverageToColorEnable) == (b->coverageToColorEnable))) {
onFail("a->coverageToColorEnable (Error: Value not equal)");
};
if (!((a->coverageToColorLocation) == (b->coverageToColorLocation))) {
onFail("a->coverageToColorLocation (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
void checkEqual_VkPipelineCoverageModulationStateCreateInfoNV(
const VkPipelineCoverageModulationStateCreateInfoNV* a,
const VkPipelineCoverageModulationStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->coverageModulationMode) == (b->coverageModulationMode))) {
onFail("a->coverageModulationMode (Error: Value not equal)");
};
if (!((a->coverageModulationTableEnable) == (b->coverageModulationTableEnable))) {
onFail("a->coverageModulationTableEnable (Error: Value not equal)");
};
if (!((a->coverageModulationTableCount) == (b->coverageModulationTableCount))) {
onFail("a->coverageModulationTableCount (Error: Value not equal)");
};
if (!((!(a->pCoverageModulationTable) && !(b->pCoverageModulationTable)) ||
((a->pCoverageModulationTable) && (b->pCoverageModulationTable)))) {
onFail("a->pCoverageModulationTable (Error: Mismatch in optional field)");
};
if (a->pCoverageModulationTable && b->pCoverageModulationTable) {
if (!((a->coverageModulationTableCount) == (b->coverageModulationTableCount))) {
onFail("a->pCoverageModulationTable (Error: Lengths not equal)");
};
if (!((memcmp(a->pCoverageModulationTable, b->pCoverageModulationTable,
a->coverageModulationTableCount * sizeof(const float)) == 0))) {
onFail("a->pCoverageModulationTable (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_NV_fill_rectangle
#endif
#ifdef VK_NV_shader_sm_builtins
void checkEqual_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* a,
const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderSMCount) == (b->shaderSMCount))) {
onFail("a->shaderSMCount (Error: Value not equal)");
};
if (!((a->shaderWarpsPerSM) == (b->shaderWarpsPerSM))) {
onFail("a->shaderWarpsPerSM (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* a,
const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderSMBuiltins) == (b->shaderSMBuiltins))) {
onFail("a->shaderSMBuiltins (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_post_depth_coverage
#endif
#ifdef VK_EXT_image_drm_format_modifier
void checkEqual_VkDrmFormatModifierPropertiesEXT(const VkDrmFormatModifierPropertiesEXT* a,
const VkDrmFormatModifierPropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->drmFormatModifier) == (b->drmFormatModifier))) {
onFail("a->drmFormatModifier (Error: Value not equal)");
};
if (!((a->drmFormatModifierPlaneCount) == (b->drmFormatModifierPlaneCount))) {
onFail("a->drmFormatModifierPlaneCount (Error: Value not equal)");
};
if (!((a->drmFormatModifierTilingFeatures) == (b->drmFormatModifierTilingFeatures))) {
onFail("a->drmFormatModifierTilingFeatures (Error: Value not equal)");
};
}
void checkEqual_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT* a,
const VkDrmFormatModifierPropertiesListEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->drmFormatModifierCount (Error: Value not equal)");
};
if (!((!(a->pDrmFormatModifierProperties) && !(b->pDrmFormatModifierProperties)) ||
((a->pDrmFormatModifierProperties) && (b->pDrmFormatModifierProperties)))) {
onFail("a->pDrmFormatModifierProperties (Error: Mismatch in optional field)");
};
if (a->pDrmFormatModifierProperties && b->pDrmFormatModifierProperties) {
if ((a->pDrmFormatModifierProperties) && (b->pDrmFormatModifierProperties)) {
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->pDrmFormatModifierProperties (Error: Lengths not equal)");
};
if ((a->drmFormatModifierCount) == (b->drmFormatModifierCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->drmFormatModifierCount; ++i) {
checkEqual_VkDrmFormatModifierPropertiesEXT(
a->pDrmFormatModifierProperties + i,
b->pDrmFormatModifierProperties + i, onFail);
}
}
}
}
}
}
void checkEqual_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* a,
const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifier) == (b->drmFormatModifier))) {
onFail("a->drmFormatModifier (Error: Value not equal)");
};
if (!((a->sharingMode) == (b->sharingMode))) {
onFail("a->sharingMode (Error: Value not equal)");
};
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->queueFamilyIndexCount (Error: Value not equal)");
};
if (!((!(a->pQueueFamilyIndices) && !(b->pQueueFamilyIndices)) ||
((a->pQueueFamilyIndices) && (b->pQueueFamilyIndices)))) {
onFail("a->pQueueFamilyIndices (Error: Mismatch in optional field)");
};
if (a->pQueueFamilyIndices && b->pQueueFamilyIndices) {
if (!((a->queueFamilyIndexCount) == (b->queueFamilyIndexCount))) {
onFail("a->pQueueFamilyIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pQueueFamilyIndices, b->pQueueFamilyIndices,
a->queueFamilyIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pQueueFamilyIndices (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkImageDrmFormatModifierListCreateInfoEXT(
const VkImageDrmFormatModifierListCreateInfoEXT* a,
const VkImageDrmFormatModifierListCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->drmFormatModifierCount (Error: Value not equal)");
};
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->pDrmFormatModifiers (Error: Lengths not equal)");
};
if (!((memcmp(a->pDrmFormatModifiers, b->pDrmFormatModifiers,
a->drmFormatModifierCount * sizeof(const uint64_t)) == 0))) {
onFail("a->pDrmFormatModifiers (Error: Unequal dyn array)");
};
}
void checkEqual_VkImageDrmFormatModifierExplicitCreateInfoEXT(
const VkImageDrmFormatModifierExplicitCreateInfoEXT* a,
const VkImageDrmFormatModifierExplicitCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifier) == (b->drmFormatModifier))) {
onFail("a->drmFormatModifier (Error: Value not equal)");
};
if (!((a->drmFormatModifierPlaneCount) == (b->drmFormatModifierPlaneCount))) {
onFail("a->drmFormatModifierPlaneCount (Error: Value not equal)");
};
if ((a->pPlaneLayouts) && (b->pPlaneLayouts)) {
if (!((a->drmFormatModifierPlaneCount) == (b->drmFormatModifierPlaneCount))) {
onFail("a->pPlaneLayouts (Error: Lengths not equal)");
};
if ((a->drmFormatModifierPlaneCount) == (b->drmFormatModifierPlaneCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->drmFormatModifierPlaneCount; ++i) {
checkEqual_VkSubresourceLayout(a->pPlaneLayouts + i, b->pPlaneLayouts + i,
onFail);
}
}
}
}
}
void checkEqual_VkImageDrmFormatModifierPropertiesEXT(
const VkImageDrmFormatModifierPropertiesEXT* a, const VkImageDrmFormatModifierPropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifier) == (b->drmFormatModifier))) {
onFail("a->drmFormatModifier (Error: Value not equal)");
};
}
void checkEqual_VkDrmFormatModifierProperties2EXT(const VkDrmFormatModifierProperties2EXT* a,
const VkDrmFormatModifierProperties2EXT* b,
OnFailCompareFunc onFail) {
if (!((a->drmFormatModifier) == (b->drmFormatModifier))) {
onFail("a->drmFormatModifier (Error: Value not equal)");
};
if (!((a->drmFormatModifierPlaneCount) == (b->drmFormatModifierPlaneCount))) {
onFail("a->drmFormatModifierPlaneCount (Error: Value not equal)");
};
if (!((a->drmFormatModifierTilingFeatures) == (b->drmFormatModifierTilingFeatures))) {
onFail("a->drmFormatModifierTilingFeatures (Error: Value not equal)");
};
}
void checkEqual_VkDrmFormatModifierPropertiesList2EXT(
const VkDrmFormatModifierPropertiesList2EXT* a, const VkDrmFormatModifierPropertiesList2EXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->drmFormatModifierCount (Error: Value not equal)");
};
if (!((!(a->pDrmFormatModifierProperties) && !(b->pDrmFormatModifierProperties)) ||
((a->pDrmFormatModifierProperties) && (b->pDrmFormatModifierProperties)))) {
onFail("a->pDrmFormatModifierProperties (Error: Mismatch in optional field)");
};
if (a->pDrmFormatModifierProperties && b->pDrmFormatModifierProperties) {
if ((a->pDrmFormatModifierProperties) && (b->pDrmFormatModifierProperties)) {
if (!((a->drmFormatModifierCount) == (b->drmFormatModifierCount))) {
onFail("a->pDrmFormatModifierProperties (Error: Lengths not equal)");
};
if ((a->drmFormatModifierCount) == (b->drmFormatModifierCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->drmFormatModifierCount; ++i) {
checkEqual_VkDrmFormatModifierProperties2EXT(
a->pDrmFormatModifierProperties + i,
b->pDrmFormatModifierProperties + i, onFail);
}
}
}
}
}
}
#endif
#ifdef VK_EXT_validation_cache
void checkEqual_VkValidationCacheCreateInfoEXT(const VkValidationCacheCreateInfoEXT* a,
const VkValidationCacheCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->initialDataSize) == (b->initialDataSize))) {
onFail("a->initialDataSize (Error: Value not equal)");
};
}
void checkEqual_VkShaderModuleValidationCacheCreateInfoEXT(
const VkShaderModuleValidationCacheCreateInfoEXT* a,
const VkShaderModuleValidationCacheCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->validationCache) == (b->validationCache))) {
onFail("a->validationCache (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_descriptor_indexing
#endif
#ifdef VK_EXT_shader_viewport_index_layer
#endif
#ifdef VK_NV_shading_rate_image
void checkEqual_VkShadingRatePaletteNV(const VkShadingRatePaletteNV* a,
const VkShadingRatePaletteNV* b, OnFailCompareFunc onFail) {
if (!((a->shadingRatePaletteEntryCount) == (b->shadingRatePaletteEntryCount))) {
onFail("a->shadingRatePaletteEntryCount (Error: Value not equal)");
};
if (!((a->shadingRatePaletteEntryCount) == (b->shadingRatePaletteEntryCount))) {
onFail("a->pShadingRatePaletteEntries (Error: Lengths not equal)");
};
if (!((memcmp(a->pShadingRatePaletteEntries, b->pShadingRatePaletteEntries,
a->shadingRatePaletteEntryCount * sizeof(const VkShadingRatePaletteEntryNV)) ==
0))) {
onFail("a->pShadingRatePaletteEntries (Error: Unequal dyn array)");
};
}
void checkEqual_VkPipelineViewportShadingRateImageStateCreateInfoNV(
const VkPipelineViewportShadingRateImageStateCreateInfoNV* a,
const VkPipelineViewportShadingRateImageStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shadingRateImageEnable) == (b->shadingRateImageEnable))) {
onFail("a->shadingRateImageEnable (Error: Value not equal)");
};
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->viewportCount (Error: Value not equal)");
};
if (!((!(a->pShadingRatePalettes) && !(b->pShadingRatePalettes)) ||
((a->pShadingRatePalettes) && (b->pShadingRatePalettes)))) {
onFail("a->pShadingRatePalettes (Error: Mismatch in optional field)");
};
if (a->pShadingRatePalettes && b->pShadingRatePalettes) {
if ((a->pShadingRatePalettes) && (b->pShadingRatePalettes)) {
if (!((a->viewportCount) == (b->viewportCount))) {
onFail("a->pShadingRatePalettes (Error: Lengths not equal)");
};
if ((a->viewportCount) == (b->viewportCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->viewportCount; ++i) {
checkEqual_VkShadingRatePaletteNV(a->pShadingRatePalettes + i,
b->pShadingRatePalettes + i, onFail);
}
}
}
}
}
}
void checkEqual_VkPhysicalDeviceShadingRateImageFeaturesNV(
const VkPhysicalDeviceShadingRateImageFeaturesNV* a,
const VkPhysicalDeviceShadingRateImageFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shadingRateImage) == (b->shadingRateImage))) {
onFail("a->shadingRateImage (Error: Value not equal)");
};
if (!((a->shadingRateCoarseSampleOrder) == (b->shadingRateCoarseSampleOrder))) {
onFail("a->shadingRateCoarseSampleOrder (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceShadingRateImagePropertiesNV(
const VkPhysicalDeviceShadingRateImagePropertiesNV* a,
const VkPhysicalDeviceShadingRateImagePropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExtent2D(&a->shadingRateTexelSize, &b->shadingRateTexelSize, onFail);
if (!((a->shadingRatePaletteSize) == (b->shadingRatePaletteSize))) {
onFail("a->shadingRatePaletteSize (Error: Value not equal)");
};
if (!((a->shadingRateMaxCoarseSamples) == (b->shadingRateMaxCoarseSamples))) {
onFail("a->shadingRateMaxCoarseSamples (Error: Value not equal)");
};
}
void checkEqual_VkCoarseSampleLocationNV(const VkCoarseSampleLocationNV* a,
const VkCoarseSampleLocationNV* b,
OnFailCompareFunc onFail) {
if (!((a->pixelX) == (b->pixelX))) {
onFail("a->pixelX (Error: Value not equal)");
};
if (!((a->pixelY) == (b->pixelY))) {
onFail("a->pixelY (Error: Value not equal)");
};
if (!((a->sample) == (b->sample))) {
onFail("a->sample (Error: Value not equal)");
};
}
void checkEqual_VkCoarseSampleOrderCustomNV(const VkCoarseSampleOrderCustomNV* a,
const VkCoarseSampleOrderCustomNV* b,
OnFailCompareFunc onFail) {
if (!((a->shadingRate) == (b->shadingRate))) {
onFail("a->shadingRate (Error: Value not equal)");
};
if (!((a->sampleCount) == (b->sampleCount))) {
onFail("a->sampleCount (Error: Value not equal)");
};
if (!((a->sampleLocationCount) == (b->sampleLocationCount))) {
onFail("a->sampleLocationCount (Error: Value not equal)");
};
if ((a->pSampleLocations) && (b->pSampleLocations)) {
if (!((a->sampleLocationCount) == (b->sampleLocationCount))) {
onFail("a->pSampleLocations (Error: Lengths not equal)");
};
if ((a->sampleLocationCount) == (b->sampleLocationCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->sampleLocationCount; ++i) {
checkEqual_VkCoarseSampleLocationNV(a->pSampleLocations + i,
b->pSampleLocations + i, onFail);
}
}
}
}
}
void checkEqual_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* a,
const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->sampleOrderType) == (b->sampleOrderType))) {
onFail("a->sampleOrderType (Error: Value not equal)");
};
if (!((a->customSampleOrderCount) == (b->customSampleOrderCount))) {
onFail("a->customSampleOrderCount (Error: Value not equal)");
};
if ((a->pCustomSampleOrders) && (b->pCustomSampleOrders)) {
if (!((a->customSampleOrderCount) == (b->customSampleOrderCount))) {
onFail("a->pCustomSampleOrders (Error: Lengths not equal)");
};
if ((a->customSampleOrderCount) == (b->customSampleOrderCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->customSampleOrderCount; ++i) {
checkEqual_VkCoarseSampleOrderCustomNV(a->pCustomSampleOrders + i,
b->pCustomSampleOrders + i, onFail);
}
}
}
}
}
#endif
#ifdef VK_NV_ray_tracing
void checkEqual_VkRayTracingShaderGroupCreateInfoNV(const VkRayTracingShaderGroupCreateInfoNV* a,
const VkRayTracingShaderGroupCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->generalShader) == (b->generalShader))) {
onFail("a->generalShader (Error: Value not equal)");
};
if (!((a->closestHitShader) == (b->closestHitShader))) {
onFail("a->closestHitShader (Error: Value not equal)");
};
if (!((a->anyHitShader) == (b->anyHitShader))) {
onFail("a->anyHitShader (Error: Value not equal)");
};
if (!((a->intersectionShader) == (b->intersectionShader))) {
onFail("a->intersectionShader (Error: Value not equal)");
};
}
void checkEqual_VkRayTracingPipelineCreateInfoNV(const VkRayTracingPipelineCreateInfoNV* a,
const VkRayTracingPipelineCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->stageCount (Error: Value not equal)");
};
if ((a->pStages) && (b->pStages)) {
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->pStages (Error: Lengths not equal)");
};
if ((a->stageCount) == (b->stageCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->stageCount; ++i) {
checkEqual_VkPipelineShaderStageCreateInfo(a->pStages + i, b->pStages + i,
onFail);
}
}
}
}
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->groupCount (Error: Value not equal)");
};
if ((a->pGroups) && (b->pGroups)) {
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->pGroups (Error: Lengths not equal)");
};
if ((a->groupCount) == (b->groupCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->groupCount; ++i) {
checkEqual_VkRayTracingShaderGroupCreateInfoNV(a->pGroups + i, b->pGroups + i,
onFail);
}
}
}
}
if (!((a->maxRecursionDepth) == (b->maxRecursionDepth))) {
onFail("a->maxRecursionDepth (Error: Value not equal)");
};
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
if (!((a->basePipelineHandle) == (b->basePipelineHandle))) {
onFail("a->basePipelineHandle (Error: Value not equal)");
};
if (!((a->basePipelineIndex) == (b->basePipelineIndex))) {
onFail("a->basePipelineIndex (Error: Value not equal)");
};
}
void checkEqual_VkGeometryTrianglesNV(const VkGeometryTrianglesNV* a,
const VkGeometryTrianglesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vertexData) == (b->vertexData))) {
onFail("a->vertexData (Error: Value not equal)");
};
if (!((a->vertexOffset) == (b->vertexOffset))) {
onFail("a->vertexOffset (Error: Value not equal)");
};
if (!((a->vertexCount) == (b->vertexCount))) {
onFail("a->vertexCount (Error: Value not equal)");
};
if (!((a->vertexStride) == (b->vertexStride))) {
onFail("a->vertexStride (Error: Value not equal)");
};
if (!((a->vertexFormat) == (b->vertexFormat))) {
onFail("a->vertexFormat (Error: Value not equal)");
};
if (!((a->indexData) == (b->indexData))) {
onFail("a->indexData (Error: Value not equal)");
};
if (!((a->indexOffset) == (b->indexOffset))) {
onFail("a->indexOffset (Error: Value not equal)");
};
if (!((a->indexCount) == (b->indexCount))) {
onFail("a->indexCount (Error: Value not equal)");
};
if (!((a->indexType) == (b->indexType))) {
onFail("a->indexType (Error: Value not equal)");
};
if (!((a->transformData) == (b->transformData))) {
onFail("a->transformData (Error: Value not equal)");
};
if (!((a->transformOffset) == (b->transformOffset))) {
onFail("a->transformOffset (Error: Value not equal)");
};
}
void checkEqual_VkGeometryAABBNV(const VkGeometryAABBNV* a, const VkGeometryAABBNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->aabbData) == (b->aabbData))) {
onFail("a->aabbData (Error: Value not equal)");
};
if (!((a->numAABBs) == (b->numAABBs))) {
onFail("a->numAABBs (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
}
void checkEqual_VkGeometryDataNV(const VkGeometryDataNV* a, const VkGeometryDataNV* b,
OnFailCompareFunc onFail) {
checkEqual_VkGeometryTrianglesNV(&a->triangles, &b->triangles, onFail);
checkEqual_VkGeometryAABBNV(&a->aabbs, &b->aabbs, onFail);
}
void checkEqual_VkGeometryNV(const VkGeometryNV* a, const VkGeometryNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->geometryType) == (b->geometryType))) {
onFail("a->geometryType (Error: Value not equal)");
};
checkEqual_VkGeometryDataNV(&a->geometry, &b->geometry, onFail);
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureInfoNV(const VkAccelerationStructureInfoNV* a,
const VkAccelerationStructureInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->instanceCount) == (b->instanceCount))) {
onFail("a->instanceCount (Error: Value not equal)");
};
if (!((a->geometryCount) == (b->geometryCount))) {
onFail("a->geometryCount (Error: Value not equal)");
};
if ((a->pGeometries) && (b->pGeometries)) {
if (!((a->geometryCount) == (b->geometryCount))) {
onFail("a->pGeometries (Error: Lengths not equal)");
};
if ((a->geometryCount) == (b->geometryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->geometryCount; ++i) {
checkEqual_VkGeometryNV(a->pGeometries + i, b->pGeometries + i, onFail);
}
}
}
}
}
void checkEqual_VkAccelerationStructureCreateInfoNV(const VkAccelerationStructureCreateInfoNV* a,
const VkAccelerationStructureCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->compactedSize) == (b->compactedSize))) {
onFail("a->compactedSize (Error: Value not equal)");
};
checkEqual_VkAccelerationStructureInfoNV(&a->info, &b->info, onFail);
}
void checkEqual_VkBindAccelerationStructureMemoryInfoNV(
const VkBindAccelerationStructureMemoryInfoNV* a,
const VkBindAccelerationStructureMemoryInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructure) == (b->accelerationStructure))) {
onFail("a->accelerationStructure (Error: Value not equal)");
};
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->memoryOffset) == (b->memoryOffset))) {
onFail("a->memoryOffset (Error: Value not equal)");
};
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->deviceIndexCount (Error: Value not equal)");
};
if (!((a->deviceIndexCount) == (b->deviceIndexCount))) {
onFail("a->pDeviceIndices (Error: Lengths not equal)");
};
if (!((memcmp(a->pDeviceIndices, b->pDeviceIndices,
a->deviceIndexCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pDeviceIndices (Error: Unequal dyn array)");
};
}
void checkEqual_VkWriteDescriptorSetAccelerationStructureNV(
const VkWriteDescriptorSetAccelerationStructureNV* a,
const VkWriteDescriptorSetAccelerationStructureNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructureCount) == (b->accelerationStructureCount))) {
onFail("a->accelerationStructureCount (Error: Value not equal)");
};
if (!((!(a->pAccelerationStructures) && !(b->pAccelerationStructures)) ||
((a->pAccelerationStructures) && (b->pAccelerationStructures)))) {
onFail("a->pAccelerationStructures (Error: Mismatch in optional field)");
};
if (a->pAccelerationStructures && b->pAccelerationStructures) {
if (!((a->accelerationStructureCount) == (b->accelerationStructureCount))) {
onFail("a->pAccelerationStructures (Error: Lengths not equal)");
};
if (!((memcmp(a->pAccelerationStructures, b->pAccelerationStructures,
a->accelerationStructureCount * sizeof(const VkAccelerationStructureNV)) ==
0))) {
onFail("a->pAccelerationStructures (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkAccelerationStructureMemoryRequirementsInfoNV(
const VkAccelerationStructureMemoryRequirementsInfoNV* a,
const VkAccelerationStructureMemoryRequirementsInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->accelerationStructure) == (b->accelerationStructure))) {
onFail("a->accelerationStructure (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceRayTracingPropertiesNV(
const VkPhysicalDeviceRayTracingPropertiesNV* a,
const VkPhysicalDeviceRayTracingPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderGroupHandleSize) == (b->shaderGroupHandleSize))) {
onFail("a->shaderGroupHandleSize (Error: Value not equal)");
};
if (!((a->maxRecursionDepth) == (b->maxRecursionDepth))) {
onFail("a->maxRecursionDepth (Error: Value not equal)");
};
if (!((a->maxShaderGroupStride) == (b->maxShaderGroupStride))) {
onFail("a->maxShaderGroupStride (Error: Value not equal)");
};
if (!((a->shaderGroupBaseAlignment) == (b->shaderGroupBaseAlignment))) {
onFail("a->shaderGroupBaseAlignment (Error: Value not equal)");
};
if (!((a->maxGeometryCount) == (b->maxGeometryCount))) {
onFail("a->maxGeometryCount (Error: Value not equal)");
};
if (!((a->maxInstanceCount) == (b->maxInstanceCount))) {
onFail("a->maxInstanceCount (Error: Value not equal)");
};
if (!((a->maxTriangleCount) == (b->maxTriangleCount))) {
onFail("a->maxTriangleCount (Error: Value not equal)");
};
if (!((a->maxDescriptorSetAccelerationStructures) ==
(b->maxDescriptorSetAccelerationStructures))) {
onFail("a->maxDescriptorSetAccelerationStructures (Error: Value not equal)");
};
}
void checkEqual_VkTransformMatrixKHR(const VkTransformMatrixKHR* a, const VkTransformMatrixKHR* b,
OnFailCompareFunc onFail) {
if (!((memcmp(a->matrix, b->matrix, ((3) * (4)) * sizeof(float)) == 0))) {
onFail("a->matrix (Error: Unequal static array)");
};
}
void checkEqual_VkAabbPositionsKHR(const VkAabbPositionsKHR* a, const VkAabbPositionsKHR* b,
OnFailCompareFunc onFail) {
if (!((a->minX) == (b->minX))) {
onFail("a->minX (Error: Value not equal)");
};
if (!((a->minY) == (b->minY))) {
onFail("a->minY (Error: Value not equal)");
};
if (!((a->minZ) == (b->minZ))) {
onFail("a->minZ (Error: Value not equal)");
};
if (!((a->maxX) == (b->maxX))) {
onFail("a->maxX (Error: Value not equal)");
};
if (!((a->maxY) == (b->maxY))) {
onFail("a->maxY (Error: Value not equal)");
};
if (!((a->maxZ) == (b->maxZ))) {
onFail("a->maxZ (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureInstanceKHR(const VkAccelerationStructureInstanceKHR* a,
const VkAccelerationStructureInstanceKHR* b,
OnFailCompareFunc onFail) {
checkEqual_VkTransformMatrixKHR(&a->transform, &b->transform, onFail);
if (!((a->instanceCustomIndex) == (b->instanceCustomIndex))) {
onFail("a->instanceCustomIndex (Error: Value not equal)");
};
if (!((a->mask) == (b->mask))) {
onFail("a->mask (Error: Value not equal)");
};
if (!((a->instanceShaderBindingTableRecordOffset) ==
(b->instanceShaderBindingTableRecordOffset))) {
onFail("a->instanceShaderBindingTableRecordOffset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->accelerationStructureReference) == (b->accelerationStructureReference))) {
onFail("a->accelerationStructureReference (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_representative_fragment_test
void checkEqual_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* a,
const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->representativeFragmentTest) == (b->representativeFragmentTest))) {
onFail("a->representativeFragmentTest (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* a,
const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->representativeFragmentTestEnable) == (b->representativeFragmentTestEnable))) {
onFail("a->representativeFragmentTestEnable (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_filter_cubic
void checkEqual_VkPhysicalDeviceImageViewImageFormatInfoEXT(
const VkPhysicalDeviceImageViewImageFormatInfoEXT* a,
const VkPhysicalDeviceImageViewImageFormatInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageViewType) == (b->imageViewType))) {
onFail("a->imageViewType (Error: Value not equal)");
};
}
void checkEqual_VkFilterCubicImageViewImageFormatPropertiesEXT(
const VkFilterCubicImageViewImageFormatPropertiesEXT* a,
const VkFilterCubicImageViewImageFormatPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->filterCubic) == (b->filterCubic))) {
onFail("a->filterCubic (Error: Value not equal)");
};
if (!((a->filterCubicMinmax) == (b->filterCubicMinmax))) {
onFail("a->filterCubicMinmax (Error: Value not equal)");
};
}
#endif
#ifdef VK_QCOM_render_pass_shader_resolve
#endif
#ifdef VK_EXT_global_priority
void checkEqual_VkDeviceQueueGlobalPriorityCreateInfoEXT(
const VkDeviceQueueGlobalPriorityCreateInfoEXT* a,
const VkDeviceQueueGlobalPriorityCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->globalPriority) == (b->globalPriority))) {
onFail("a->globalPriority (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_external_memory_host
void checkEqual_VkImportMemoryHostPointerInfoEXT(const VkImportMemoryHostPointerInfoEXT* a,
const VkImportMemoryHostPointerInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((!(a->pHostPointer) && !(b->pHostPointer)) || ((a->pHostPointer) && (b->pHostPointer)))) {
onFail("a->pHostPointer (Error: Mismatch in optional field)");
};
}
void checkEqual_VkMemoryHostPointerPropertiesEXT(const VkMemoryHostPointerPropertiesEXT* a,
const VkMemoryHostPointerPropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* a,
const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->minImportedHostPointerAlignment) == (b->minImportedHostPointerAlignment))) {
onFail("a->minImportedHostPointerAlignment (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_buffer_marker
#endif
#ifdef VK_AMD_pipeline_compiler_control
void checkEqual_VkPipelineCompilerControlCreateInfoAMD(
const VkPipelineCompilerControlCreateInfoAMD* a,
const VkPipelineCompilerControlCreateInfoAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->compilerControlFlags) == (b->compilerControlFlags))) {
onFail("a->compilerControlFlags (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_calibrated_timestamps
void checkEqual_VkCalibratedTimestampInfoEXT(const VkCalibratedTimestampInfoEXT* a,
const VkCalibratedTimestampInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->timeDomain) == (b->timeDomain))) {
onFail("a->timeDomain (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_shader_core_properties
void checkEqual_VkPhysicalDeviceShaderCorePropertiesAMD(
const VkPhysicalDeviceShaderCorePropertiesAMD* a,
const VkPhysicalDeviceShaderCorePropertiesAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderEngineCount) == (b->shaderEngineCount))) {
onFail("a->shaderEngineCount (Error: Value not equal)");
};
if (!((a->shaderArraysPerEngineCount) == (b->shaderArraysPerEngineCount))) {
onFail("a->shaderArraysPerEngineCount (Error: Value not equal)");
};
if (!((a->computeUnitsPerShaderArray) == (b->computeUnitsPerShaderArray))) {
onFail("a->computeUnitsPerShaderArray (Error: Value not equal)");
};
if (!((a->simdPerComputeUnit) == (b->simdPerComputeUnit))) {
onFail("a->simdPerComputeUnit (Error: Value not equal)");
};
if (!((a->wavefrontsPerSimd) == (b->wavefrontsPerSimd))) {
onFail("a->wavefrontsPerSimd (Error: Value not equal)");
};
if (!((a->wavefrontSize) == (b->wavefrontSize))) {
onFail("a->wavefrontSize (Error: Value not equal)");
};
if (!((a->sgprsPerSimd) == (b->sgprsPerSimd))) {
onFail("a->sgprsPerSimd (Error: Value not equal)");
};
if (!((a->minSgprAllocation) == (b->minSgprAllocation))) {
onFail("a->minSgprAllocation (Error: Value not equal)");
};
if (!((a->maxSgprAllocation) == (b->maxSgprAllocation))) {
onFail("a->maxSgprAllocation (Error: Value not equal)");
};
if (!((a->sgprAllocationGranularity) == (b->sgprAllocationGranularity))) {
onFail("a->sgprAllocationGranularity (Error: Value not equal)");
};
if (!((a->vgprsPerSimd) == (b->vgprsPerSimd))) {
onFail("a->vgprsPerSimd (Error: Value not equal)");
};
if (!((a->minVgprAllocation) == (b->minVgprAllocation))) {
onFail("a->minVgprAllocation (Error: Value not equal)");
};
if (!((a->maxVgprAllocation) == (b->maxVgprAllocation))) {
onFail("a->maxVgprAllocation (Error: Value not equal)");
};
if (!((a->vgprAllocationGranularity) == (b->vgprAllocationGranularity))) {
onFail("a->vgprAllocationGranularity (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_video_decode_h265
void checkEqual_VkVideoDecodeH265ProfileEXT(const VkVideoDecodeH265ProfileEXT* a,
const VkVideoDecodeH265ProfileEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stdProfileIdc) == (b->stdProfileIdc))) {
onFail("a->stdProfileIdc (Error: Value not equal)");
};
}
void checkEqual_VkVideoDecodeH265CapabilitiesEXT(const VkVideoDecodeH265CapabilitiesEXT* a,
const VkVideoDecodeH265CapabilitiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxLevel) == (b->maxLevel))) {
onFail("a->maxLevel (Error: Value not equal)");
};
checkEqual_VkExtensionProperties(&a->stdExtensionVersion, &b->stdExtensionVersion, onFail);
}
void checkEqual_VkVideoDecodeH265SessionCreateInfoEXT(
const VkVideoDecodeH265SessionCreateInfoEXT* a, const VkVideoDecodeH265SessionCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if ((a->pStdExtensionVersion) && (b->pStdExtensionVersion)) {
checkEqual_VkExtensionProperties(a->pStdExtensionVersion, b->pStdExtensionVersion, onFail);
}
}
void checkEqual_VkVideoDecodeH265SessionParametersAddInfoEXT(
const VkVideoDecodeH265SessionParametersAddInfoEXT* a,
const VkVideoDecodeH265SessionParametersAddInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->spsStdCount (Error: Value not equal)");
};
if (!((!(a->pSpsStd) && !(b->pSpsStd)) || ((a->pSpsStd) && (b->pSpsStd)))) {
onFail("a->pSpsStd (Error: Mismatch in optional field)");
};
if (a->pSpsStd && b->pSpsStd) {
if (!((a->spsStdCount) == (b->spsStdCount))) {
onFail("a->pSpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pSpsStd, b->pSpsStd,
a->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)) == 0))) {
onFail("a->pSpsStd (Error: Unequal dyn array)");
};
}
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->ppsStdCount (Error: Value not equal)");
};
if (!((!(a->pPpsStd) && !(b->pPpsStd)) || ((a->pPpsStd) && (b->pPpsStd)))) {
onFail("a->pPpsStd (Error: Mismatch in optional field)");
};
if (a->pPpsStd && b->pPpsStd) {
if (!((a->ppsStdCount) == (b->ppsStdCount))) {
onFail("a->pPpsStd (Error: Lengths not equal)");
};
if (!((memcmp(a->pPpsStd, b->pPpsStd,
a->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)) == 0))) {
onFail("a->pPpsStd (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkVideoDecodeH265SessionParametersCreateInfoEXT(
const VkVideoDecodeH265SessionParametersCreateInfoEXT* a,
const VkVideoDecodeH265SessionParametersCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxSpsStdCount) == (b->maxSpsStdCount))) {
onFail("a->maxSpsStdCount (Error: Value not equal)");
};
if (!((a->maxPpsStdCount) == (b->maxPpsStdCount))) {
onFail("a->maxPpsStdCount (Error: Value not equal)");
};
if (!((!(a->pParametersAddInfo) && !(b->pParametersAddInfo)) ||
((a->pParametersAddInfo) && (b->pParametersAddInfo)))) {
onFail("a->pParametersAddInfo (Error: Mismatch in optional field)");
};
if (a->pParametersAddInfo && b->pParametersAddInfo) {
if ((a->pParametersAddInfo) && (b->pParametersAddInfo)) {
checkEqual_VkVideoDecodeH265SessionParametersAddInfoEXT(a->pParametersAddInfo,
b->pParametersAddInfo, onFail);
}
}
}
void checkEqual_VkVideoDecodeH265PictureInfoEXT(const VkVideoDecodeH265PictureInfoEXT* a,
const VkVideoDecodeH265PictureInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pStdPictureInfo, b->pStdPictureInfo, sizeof(StdVideoDecodeH265PictureInfo)) ==
0))) {
onFail("a->pStdPictureInfo (Error: Unequal dyn array)");
};
if (!((a->slicesCount) == (b->slicesCount))) {
onFail("a->slicesCount (Error: Value not equal)");
};
if (!((a->slicesCount) == (b->slicesCount))) {
onFail("a->pSlicesDataOffsets (Error: Lengths not equal)");
};
if (!((memcmp(a->pSlicesDataOffsets, b->pSlicesDataOffsets,
a->slicesCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pSlicesDataOffsets (Error: Unequal dyn array)");
};
}
void checkEqual_VkVideoDecodeH265DpbSlotInfoEXT(const VkVideoDecodeH265DpbSlotInfoEXT* a,
const VkVideoDecodeH265DpbSlotInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->pStdReferenceInfo, b->pStdReferenceInfo,
sizeof(const StdVideoDecodeH265ReferenceInfo)) == 0))) {
onFail("a->pStdReferenceInfo (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_AMD_memory_overallocation_behavior
void checkEqual_VkDeviceMemoryOverallocationCreateInfoAMD(
const VkDeviceMemoryOverallocationCreateInfoAMD* a,
const VkDeviceMemoryOverallocationCreateInfoAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->overallocationBehavior) == (b->overallocationBehavior))) {
onFail("a->overallocationBehavior (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
void checkEqual_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* a,
const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxVertexAttribDivisor) == (b->maxVertexAttribDivisor))) {
onFail("a->maxVertexAttribDivisor (Error: Value not equal)");
};
}
void checkEqual_VkVertexInputBindingDivisorDescriptionEXT(
const VkVertexInputBindingDivisorDescriptionEXT* a,
const VkVertexInputBindingDivisorDescriptionEXT* b, OnFailCompareFunc onFail) {
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->divisor) == (b->divisor))) {
onFail("a->divisor (Error: Value not equal)");
};
}
void checkEqual_VkPipelineVertexInputDivisorStateCreateInfoEXT(
const VkPipelineVertexInputDivisorStateCreateInfoEXT* a,
const VkPipelineVertexInputDivisorStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vertexBindingDivisorCount) == (b->vertexBindingDivisorCount))) {
onFail("a->vertexBindingDivisorCount (Error: Value not equal)");
};
if ((a->pVertexBindingDivisors) && (b->pVertexBindingDivisors)) {
if (!((a->vertexBindingDivisorCount) == (b->vertexBindingDivisorCount))) {
onFail("a->pVertexBindingDivisors (Error: Lengths not equal)");
};
if ((a->vertexBindingDivisorCount) == (b->vertexBindingDivisorCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->vertexBindingDivisorCount; ++i) {
checkEqual_VkVertexInputBindingDivisorDescriptionEXT(
a->pVertexBindingDivisors + i, b->pVertexBindingDivisors + i, onFail);
}
}
}
}
}
void checkEqual_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* a,
const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vertexAttributeInstanceRateDivisor) == (b->vertexAttributeInstanceRateDivisor))) {
onFail("a->vertexAttributeInstanceRateDivisor (Error: Value not equal)");
};
if (!((a->vertexAttributeInstanceRateZeroDivisor) ==
(b->vertexAttributeInstanceRateZeroDivisor))) {
onFail("a->vertexAttributeInstanceRateZeroDivisor (Error: Value not equal)");
};
}
#endif
#ifdef VK_GGP_frame_token
void checkEqual_VkPresentFrameTokenGGP(const VkPresentFrameTokenGGP* a,
const VkPresentFrameTokenGGP* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->frameToken) == (b->frameToken))) {
onFail("a->frameToken (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_pipeline_creation_feedback
void checkEqual_VkPipelineCreationFeedbackEXT(const VkPipelineCreationFeedbackEXT* a,
const VkPipelineCreationFeedbackEXT* b,
OnFailCompareFunc onFail) {
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->duration) == (b->duration))) {
onFail("a->duration (Error: Value not equal)");
};
}
void checkEqual_VkPipelineCreationFeedbackCreateInfoEXT(
const VkPipelineCreationFeedbackCreateInfoEXT* a,
const VkPipelineCreationFeedbackCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if ((a->pPipelineCreationFeedback) && (b->pPipelineCreationFeedback)) {
checkEqual_VkPipelineCreationFeedbackEXT(a->pPipelineCreationFeedback,
b->pPipelineCreationFeedback, onFail);
}
if (!((a->pipelineStageCreationFeedbackCount) == (b->pipelineStageCreationFeedbackCount))) {
onFail("a->pipelineStageCreationFeedbackCount (Error: Value not equal)");
};
if ((a->pPipelineStageCreationFeedbacks) && (b->pPipelineStageCreationFeedbacks)) {
if (!((a->pipelineStageCreationFeedbackCount) == (b->pipelineStageCreationFeedbackCount))) {
onFail("a->pPipelineStageCreationFeedbacks (Error: Lengths not equal)");
};
if ((a->pipelineStageCreationFeedbackCount) == (b->pipelineStageCreationFeedbackCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->pipelineStageCreationFeedbackCount; ++i) {
checkEqual_VkPipelineCreationFeedbackEXT(a->pPipelineStageCreationFeedbacks + i,
b->pPipelineStageCreationFeedbacks + i,
onFail);
}
}
}
}
}
#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_NV_compute_shader_derivatives
void checkEqual_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* a,
const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->computeDerivativeGroupQuads) == (b->computeDerivativeGroupQuads))) {
onFail("a->computeDerivativeGroupQuads (Error: Value not equal)");
};
if (!((a->computeDerivativeGroupLinear) == (b->computeDerivativeGroupLinear))) {
onFail("a->computeDerivativeGroupLinear (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_mesh_shader
void checkEqual_VkPhysicalDeviceMeshShaderFeaturesNV(const VkPhysicalDeviceMeshShaderFeaturesNV* a,
const VkPhysicalDeviceMeshShaderFeaturesNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->taskShader) == (b->taskShader))) {
onFail("a->taskShader (Error: Value not equal)");
};
if (!((a->meshShader) == (b->meshShader))) {
onFail("a->meshShader (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMeshShaderPropertiesNV(
const VkPhysicalDeviceMeshShaderPropertiesNV* a,
const VkPhysicalDeviceMeshShaderPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxDrawMeshTasksCount) == (b->maxDrawMeshTasksCount))) {
onFail("a->maxDrawMeshTasksCount (Error: Value not equal)");
};
if (!((a->maxTaskWorkGroupInvocations) == (b->maxTaskWorkGroupInvocations))) {
onFail("a->maxTaskWorkGroupInvocations (Error: Value not equal)");
};
if (!((memcmp(a->maxTaskWorkGroupSize, b->maxTaskWorkGroupSize, 3 * sizeof(uint32_t)) == 0))) {
onFail("a->maxTaskWorkGroupSize (Error: Unequal static array)");
};
if (!((a->maxTaskTotalMemorySize) == (b->maxTaskTotalMemorySize))) {
onFail("a->maxTaskTotalMemorySize (Error: Value not equal)");
};
if (!((a->maxTaskOutputCount) == (b->maxTaskOutputCount))) {
onFail("a->maxTaskOutputCount (Error: Value not equal)");
};
if (!((a->maxMeshWorkGroupInvocations) == (b->maxMeshWorkGroupInvocations))) {
onFail("a->maxMeshWorkGroupInvocations (Error: Value not equal)");
};
if (!((memcmp(a->maxMeshWorkGroupSize, b->maxMeshWorkGroupSize, 3 * sizeof(uint32_t)) == 0))) {
onFail("a->maxMeshWorkGroupSize (Error: Unequal static array)");
};
if (!((a->maxMeshTotalMemorySize) == (b->maxMeshTotalMemorySize))) {
onFail("a->maxMeshTotalMemorySize (Error: Value not equal)");
};
if (!((a->maxMeshOutputVertices) == (b->maxMeshOutputVertices))) {
onFail("a->maxMeshOutputVertices (Error: Value not equal)");
};
if (!((a->maxMeshOutputPrimitives) == (b->maxMeshOutputPrimitives))) {
onFail("a->maxMeshOutputPrimitives (Error: Value not equal)");
};
if (!((a->maxMeshMultiviewViewCount) == (b->maxMeshMultiviewViewCount))) {
onFail("a->maxMeshMultiviewViewCount (Error: Value not equal)");
};
if (!((a->meshOutputPerVertexGranularity) == (b->meshOutputPerVertexGranularity))) {
onFail("a->meshOutputPerVertexGranularity (Error: Value not equal)");
};
if (!((a->meshOutputPerPrimitiveGranularity) == (b->meshOutputPerPrimitiveGranularity))) {
onFail("a->meshOutputPerPrimitiveGranularity (Error: Value not equal)");
};
}
void checkEqual_VkDrawMeshTasksIndirectCommandNV(const VkDrawMeshTasksIndirectCommandNV* a,
const VkDrawMeshTasksIndirectCommandNV* b,
OnFailCompareFunc onFail) {
if (!((a->taskCount) == (b->taskCount))) {
onFail("a->taskCount (Error: Value not equal)");
};
if (!((a->firstTask) == (b->firstTask))) {
onFail("a->firstTask (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_fragment_shader_barycentric
void checkEqual_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(
const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* a,
const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fragmentShaderBarycentric) == (b->fragmentShaderBarycentric))) {
onFail("a->fragmentShaderBarycentric (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_shader_image_footprint
void checkEqual_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
const VkPhysicalDeviceShaderImageFootprintFeaturesNV* a,
const VkPhysicalDeviceShaderImageFootprintFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->imageFootprint) == (b->imageFootprint))) {
onFail("a->imageFootprint (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_scissor_exclusive
void checkEqual_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
const VkPipelineViewportExclusiveScissorStateCreateInfoNV* a,
const VkPipelineViewportExclusiveScissorStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->exclusiveScissorCount) == (b->exclusiveScissorCount))) {
onFail("a->exclusiveScissorCount (Error: Value not equal)");
};
if (!((!(a->pExclusiveScissors) && !(b->pExclusiveScissors)) ||
((a->pExclusiveScissors) && (b->pExclusiveScissors)))) {
onFail("a->pExclusiveScissors (Error: Mismatch in optional field)");
};
if (a->pExclusiveScissors && b->pExclusiveScissors) {
if ((a->pExclusiveScissors) && (b->pExclusiveScissors)) {
if (!((a->exclusiveScissorCount) == (b->exclusiveScissorCount))) {
onFail("a->pExclusiveScissors (Error: Lengths not equal)");
};
if ((a->exclusiveScissorCount) == (b->exclusiveScissorCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->exclusiveScissorCount; ++i) {
checkEqual_VkRect2D(a->pExclusiveScissors + i, b->pExclusiveScissors + i,
onFail);
}
}
}
}
}
}
void checkEqual_VkPhysicalDeviceExclusiveScissorFeaturesNV(
const VkPhysicalDeviceExclusiveScissorFeaturesNV* a,
const VkPhysicalDeviceExclusiveScissorFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->exclusiveScissor) == (b->exclusiveScissor))) {
onFail("a->exclusiveScissor (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
void checkEqual_VkQueueFamilyCheckpointPropertiesNV(const VkQueueFamilyCheckpointPropertiesNV* a,
const VkQueueFamilyCheckpointPropertiesNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->checkpointExecutionStageMask) == (b->checkpointExecutionStageMask))) {
onFail("a->checkpointExecutionStageMask (Error: Value not equal)");
};
}
void checkEqual_VkCheckpointDataNV(const VkCheckpointDataNV* a, const VkCheckpointDataNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stage) == (b->stage))) {
onFail("a->stage (Error: Value not equal)");
};
if (!((!(a->pCheckpointMarker) && !(b->pCheckpointMarker)) ||
((a->pCheckpointMarker) && (b->pCheckpointMarker)))) {
onFail("a->pCheckpointMarker (Error: Mismatch in optional field)");
};
}
#endif
#ifdef VK_INTEL_shader_integer_functions2
void checkEqual_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* a,
const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderIntegerFunctions2) == (b->shaderIntegerFunctions2))) {
onFail("a->shaderIntegerFunctions2 (Error: Value not equal)");
};
}
#endif
#ifdef VK_INTEL_performance_query
void checkEqual_VkPerformanceValueDataINTEL(const VkPerformanceValueDataINTEL* a,
const VkPerformanceValueDataINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->value32) == (b->value32))) {
onFail("a->value32 (Error: Value not equal)");
};
if (!((a->value64) == (b->value64))) {
onFail("a->value64 (Error: Value not equal)");
};
if (!((a->valueFloat) == (b->valueFloat))) {
onFail("a->valueFloat (Error: Value not equal)");
};
if (!((a->valueBool) == (b->valueBool))) {
onFail("a->valueBool (Error: Value not equal)");
};
if (!((!(a->valueString) && !(b->valueString)) || ((a->valueString) && (b->valueString)))) {
onFail("a->valueString (Error: Mismatch in string pointer nullness)");
};
if ((a->valueString) && (b->valueString)) {
if (!((strcmp(a->valueString, b->valueString) == 0))) {
onFail("a->valueString (Error: Unequal strings)");
};
}
}
void checkEqual_VkPerformanceValueINTEL(const VkPerformanceValueINTEL* a,
const VkPerformanceValueINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
checkEqual_VkPerformanceValueDataINTEL(&a->data, &b->data, onFail);
}
void checkEqual_VkInitializePerformanceApiInfoINTEL(const VkInitializePerformanceApiInfoINTEL* a,
const VkInitializePerformanceApiInfoINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((!(a->pUserData) && !(b->pUserData)) || ((a->pUserData) && (b->pUserData)))) {
onFail("a->pUserData (Error: Mismatch in optional field)");
};
}
void checkEqual_VkQueryPoolPerformanceQueryCreateInfoINTEL(
const VkQueryPoolPerformanceQueryCreateInfoINTEL* a,
const VkQueryPoolPerformanceQueryCreateInfoINTEL* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->performanceCountersSampling) == (b->performanceCountersSampling))) {
onFail("a->performanceCountersSampling (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceMarkerInfoINTEL(const VkPerformanceMarkerInfoINTEL* a,
const VkPerformanceMarkerInfoINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->marker) == (b->marker))) {
onFail("a->marker (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceStreamMarkerInfoINTEL(const VkPerformanceStreamMarkerInfoINTEL* a,
const VkPerformanceStreamMarkerInfoINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->marker) == (b->marker))) {
onFail("a->marker (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceOverrideInfoINTEL(const VkPerformanceOverrideInfoINTEL* a,
const VkPerformanceOverrideInfoINTEL* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->enable) == (b->enable))) {
onFail("a->enable (Error: Value not equal)");
};
if (!((a->parameter) == (b->parameter))) {
onFail("a->parameter (Error: Value not equal)");
};
}
void checkEqual_VkPerformanceConfigurationAcquireInfoINTEL(
const VkPerformanceConfigurationAcquireInfoINTEL* a,
const VkPerformanceConfigurationAcquireInfoINTEL* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_pci_bus_info
void checkEqual_VkPhysicalDevicePCIBusInfoPropertiesEXT(
const VkPhysicalDevicePCIBusInfoPropertiesEXT* a,
const VkPhysicalDevicePCIBusInfoPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pciDomain) == (b->pciDomain))) {
onFail("a->pciDomain (Error: Value not equal)");
};
if (!((a->pciBus) == (b->pciBus))) {
onFail("a->pciBus (Error: Value not equal)");
};
if (!((a->pciDevice) == (b->pciDevice))) {
onFail("a->pciDevice (Error: Value not equal)");
};
if (!((a->pciFunction) == (b->pciFunction))) {
onFail("a->pciFunction (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_display_native_hdr
void checkEqual_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
const VkDisplayNativeHdrSurfaceCapabilitiesAMD* a,
const VkDisplayNativeHdrSurfaceCapabilitiesAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->localDimmingSupport) == (b->localDimmingSupport))) {
onFail("a->localDimmingSupport (Error: Value not equal)");
};
}
void checkEqual_VkSwapchainDisplayNativeHdrCreateInfoAMD(
const VkSwapchainDisplayNativeHdrCreateInfoAMD* a,
const VkSwapchainDisplayNativeHdrCreateInfoAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->localDimmingEnable) == (b->localDimmingEnable))) {
onFail("a->localDimmingEnable (Error: Value not equal)");
};
}
#endif
#ifdef VK_FUCHSIA_imagepipe_surface
void checkEqual_VkImagePipeSurfaceCreateInfoFUCHSIA(const VkImagePipeSurfaceCreateInfoFUCHSIA* a,
const VkImagePipeSurfaceCreateInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->imagePipeHandle) == (b->imagePipeHandle))) {
onFail("a->imagePipeHandle (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_metal_surface
void checkEqual_VkMetalSurfaceCreateInfoEXT(const VkMetalSurfaceCreateInfoEXT* a,
const VkMetalSurfaceCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->pLayer) && !(b->pLayer)) || ((a->pLayer) && (b->pLayer)))) {
onFail("a->pLayer (Error: Mismatch in optional field)");
};
if (a->pLayer && b->pLayer) {
if (!((memcmp(a->pLayer, b->pLayer, sizeof(const CAMetalLayer)) == 0))) {
onFail("a->pLayer (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_EXT_fragment_density_map
void checkEqual_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* a,
const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fragmentDensityMap) == (b->fragmentDensityMap))) {
onFail("a->fragmentDensityMap (Error: Value not equal)");
};
if (!((a->fragmentDensityMapDynamic) == (b->fragmentDensityMapDynamic))) {
onFail("a->fragmentDensityMapDynamic (Error: Value not equal)");
};
if (!((a->fragmentDensityMapNonSubsampledImages) ==
(b->fragmentDensityMapNonSubsampledImages))) {
onFail("a->fragmentDensityMapNonSubsampledImages (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* a,
const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkExtent2D(&a->minFragmentDensityTexelSize, &b->minFragmentDensityTexelSize, onFail);
checkEqual_VkExtent2D(&a->maxFragmentDensityTexelSize, &b->maxFragmentDensityTexelSize, onFail);
if (!((a->fragmentDensityInvocations) == (b->fragmentDensityInvocations))) {
onFail("a->fragmentDensityInvocations (Error: Value not equal)");
};
}
void checkEqual_VkRenderPassFragmentDensityMapCreateInfoEXT(
const VkRenderPassFragmentDensityMapCreateInfoEXT* a,
const VkRenderPassFragmentDensityMapCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkAttachmentReference(&a->fragmentDensityMapAttachment,
&b->fragmentDensityMapAttachment, onFail);
}
#endif
#ifdef VK_EXT_scalar_block_layout
#endif
#ifdef VK_GOOGLE_hlsl_functionality1
#endif
#ifdef VK_GOOGLE_decorate_string
#endif
#ifdef VK_EXT_subgroup_size_control
void checkEqual_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(
const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* a,
const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->subgroupSizeControl) == (b->subgroupSizeControl))) {
onFail("a->subgroupSizeControl (Error: Value not equal)");
};
if (!((a->computeFullSubgroups) == (b->computeFullSubgroups))) {
onFail("a->computeFullSubgroups (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(
const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* a,
const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->minSubgroupSize) == (b->minSubgroupSize))) {
onFail("a->minSubgroupSize (Error: Value not equal)");
};
if (!((a->maxSubgroupSize) == (b->maxSubgroupSize))) {
onFail("a->maxSubgroupSize (Error: Value not equal)");
};
if (!((a->maxComputeWorkgroupSubgroups) == (b->maxComputeWorkgroupSubgroups))) {
onFail("a->maxComputeWorkgroupSubgroups (Error: Value not equal)");
};
if (!((a->requiredSubgroupSizeStages) == (b->requiredSubgroupSizeStages))) {
onFail("a->requiredSubgroupSizeStages (Error: Value not equal)");
};
}
void checkEqual_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* a,
const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->requiredSubgroupSize) == (b->requiredSubgroupSize))) {
onFail("a->requiredSubgroupSize (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_shader_core_properties2
void checkEqual_VkPhysicalDeviceShaderCoreProperties2AMD(
const VkPhysicalDeviceShaderCoreProperties2AMD* a,
const VkPhysicalDeviceShaderCoreProperties2AMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderCoreFeatures) == (b->shaderCoreFeatures))) {
onFail("a->shaderCoreFeatures (Error: Value not equal)");
};
if (!((a->activeComputeUnitCount) == (b->activeComputeUnitCount))) {
onFail("a->activeComputeUnitCount (Error: Value not equal)");
};
}
#endif
#ifdef VK_AMD_device_coherent_memory
void checkEqual_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
const VkPhysicalDeviceCoherentMemoryFeaturesAMD* a,
const VkPhysicalDeviceCoherentMemoryFeaturesAMD* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceCoherentMemory) == (b->deviceCoherentMemory))) {
onFail("a->deviceCoherentMemory (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_shader_image_atomic_int64
void checkEqual_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* a,
const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderImageInt64Atomics) == (b->shaderImageInt64Atomics))) {
onFail("a->shaderImageInt64Atomics (Error: Value not equal)");
};
if (!((a->sparseImageInt64Atomics) == (b->sparseImageInt64Atomics))) {
onFail("a->sparseImageInt64Atomics (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_memory_budget
void checkEqual_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
const VkPhysicalDeviceMemoryBudgetPropertiesEXT* a,
const VkPhysicalDeviceMemoryBudgetPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->heapBudget, b->heapBudget, VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize)) ==
0))) {
onFail("a->heapBudget (Error: Unequal static array)");
};
if (!((memcmp(a->heapUsage, b->heapUsage, VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize)) == 0))) {
onFail("a->heapUsage (Error: Unequal static array)");
};
}
#endif
#ifdef VK_EXT_memory_priority
void checkEqual_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
const VkPhysicalDeviceMemoryPriorityFeaturesEXT* a,
const VkPhysicalDeviceMemoryPriorityFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryPriority) == (b->memoryPriority))) {
onFail("a->memoryPriority (Error: Value not equal)");
};
}
void checkEqual_VkMemoryPriorityAllocateInfoEXT(const VkMemoryPriorityAllocateInfoEXT* a,
const VkMemoryPriorityAllocateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->priority) == (b->priority))) {
onFail("a->priority (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
void checkEqual_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* a,
const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->dedicatedAllocationImageAliasing) == (b->dedicatedAllocationImageAliasing))) {
onFail("a->dedicatedAllocationImageAliasing (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_buffer_device_address
void checkEqual_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* a,
const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->bufferDeviceAddress) == (b->bufferDeviceAddress))) {
onFail("a->bufferDeviceAddress (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressCaptureReplay) == (b->bufferDeviceAddressCaptureReplay))) {
onFail("a->bufferDeviceAddressCaptureReplay (Error: Value not equal)");
};
if (!((a->bufferDeviceAddressMultiDevice) == (b->bufferDeviceAddressMultiDevice))) {
onFail("a->bufferDeviceAddressMultiDevice (Error: Value not equal)");
};
}
void checkEqual_VkBufferDeviceAddressCreateInfoEXT(const VkBufferDeviceAddressCreateInfoEXT* a,
const VkBufferDeviceAddressCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_tooling_info
void checkEqual_VkPhysicalDeviceToolPropertiesEXT(const VkPhysicalDeviceToolPropertiesEXT* a,
const VkPhysicalDeviceToolPropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((memcmp(a->name, b->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->name (Error: Unequal static array)");
};
if (!((memcmp(a->version, b->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->version (Error: Unequal static array)");
};
if (!((a->purposes) == (b->purposes))) {
onFail("a->purposes (Error: Value not equal)");
};
if (!((memcmp(a->description, b->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)) == 0))) {
onFail("a->description (Error: Unequal static array)");
};
if (!((memcmp(a->layer, b->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)) == 0))) {
onFail("a->layer (Error: Unequal static array)");
};
}
#endif
#ifdef VK_EXT_separate_stencil_usage
#endif
#ifdef VK_EXT_validation_features
void checkEqual_VkValidationFeaturesEXT(const VkValidationFeaturesEXT* a,
const VkValidationFeaturesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->enabledValidationFeatureCount) == (b->enabledValidationFeatureCount))) {
onFail("a->enabledValidationFeatureCount (Error: Value not equal)");
};
if (!((a->enabledValidationFeatureCount) == (b->enabledValidationFeatureCount))) {
onFail("a->pEnabledValidationFeatures (Error: Lengths not equal)");
};
if (!((memcmp(a->pEnabledValidationFeatures, b->pEnabledValidationFeatures,
a->enabledValidationFeatureCount * sizeof(const VkValidationFeatureEnableEXT)) ==
0))) {
onFail("a->pEnabledValidationFeatures (Error: Unequal dyn array)");
};
if (!((a->disabledValidationFeatureCount) == (b->disabledValidationFeatureCount))) {
onFail("a->disabledValidationFeatureCount (Error: Value not equal)");
};
if (!((a->disabledValidationFeatureCount) == (b->disabledValidationFeatureCount))) {
onFail("a->pDisabledValidationFeatures (Error: Lengths not equal)");
};
if (!((memcmp(a->pDisabledValidationFeatures, b->pDisabledValidationFeatures,
a->disabledValidationFeatureCount *
sizeof(const VkValidationFeatureDisableEXT)) == 0))) {
onFail("a->pDisabledValidationFeatures (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_NV_cooperative_matrix
void checkEqual_VkCooperativeMatrixPropertiesNV(const VkCooperativeMatrixPropertiesNV* a,
const VkCooperativeMatrixPropertiesNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->MSize) == (b->MSize))) {
onFail("a->MSize (Error: Value not equal)");
};
if (!((a->NSize) == (b->NSize))) {
onFail("a->NSize (Error: Value not equal)");
};
if (!((a->KSize) == (b->KSize))) {
onFail("a->KSize (Error: Value not equal)");
};
if (!((a->AType) == (b->AType))) {
onFail("a->AType (Error: Value not equal)");
};
if (!((a->BType) == (b->BType))) {
onFail("a->BType (Error: Value not equal)");
};
if (!((a->CType) == (b->CType))) {
onFail("a->CType (Error: Value not equal)");
};
if (!((a->DType) == (b->DType))) {
onFail("a->DType (Error: Value not equal)");
};
if (!((a->scope) == (b->scope))) {
onFail("a->scope (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
const VkPhysicalDeviceCooperativeMatrixFeaturesNV* a,
const VkPhysicalDeviceCooperativeMatrixFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->cooperativeMatrix) == (b->cooperativeMatrix))) {
onFail("a->cooperativeMatrix (Error: Value not equal)");
};
if (!((a->cooperativeMatrixRobustBufferAccess) == (b->cooperativeMatrixRobustBufferAccess))) {
onFail("a->cooperativeMatrixRobustBufferAccess (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
const VkPhysicalDeviceCooperativeMatrixPropertiesNV* a,
const VkPhysicalDeviceCooperativeMatrixPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->cooperativeMatrixSupportedStages) == (b->cooperativeMatrixSupportedStages))) {
onFail("a->cooperativeMatrixSupportedStages (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_coverage_reduction_mode
void checkEqual_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
const VkPhysicalDeviceCoverageReductionModeFeaturesNV* a,
const VkPhysicalDeviceCoverageReductionModeFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->coverageReductionMode) == (b->coverageReductionMode))) {
onFail("a->coverageReductionMode (Error: Value not equal)");
};
}
void checkEqual_VkPipelineCoverageReductionStateCreateInfoNV(
const VkPipelineCoverageReductionStateCreateInfoNV* a,
const VkPipelineCoverageReductionStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->coverageReductionMode) == (b->coverageReductionMode))) {
onFail("a->coverageReductionMode (Error: Value not equal)");
};
}
void checkEqual_VkFramebufferMixedSamplesCombinationNV(
const VkFramebufferMixedSamplesCombinationNV* a,
const VkFramebufferMixedSamplesCombinationNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->coverageReductionMode) == (b->coverageReductionMode))) {
onFail("a->coverageReductionMode (Error: Value not equal)");
};
if (!((a->rasterizationSamples) == (b->rasterizationSamples))) {
onFail("a->rasterizationSamples (Error: Value not equal)");
};
if (!((a->depthStencilSamples) == (b->depthStencilSamples))) {
onFail("a->depthStencilSamples (Error: Value not equal)");
};
if (!((a->colorSamples) == (b->colorSamples))) {
onFail("a->colorSamples (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_fragment_shader_interlock
void checkEqual_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* a,
const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fragmentShaderSampleInterlock) == (b->fragmentShaderSampleInterlock))) {
onFail("a->fragmentShaderSampleInterlock (Error: Value not equal)");
};
if (!((a->fragmentShaderPixelInterlock) == (b->fragmentShaderPixelInterlock))) {
onFail("a->fragmentShaderPixelInterlock (Error: Value not equal)");
};
if (!((a->fragmentShaderShadingRateInterlock) == (b->fragmentShaderShadingRateInterlock))) {
onFail("a->fragmentShaderShadingRateInterlock (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_ycbcr_image_arrays
void checkEqual_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* a,
const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->ycbcrImageArrays) == (b->ycbcrImageArrays))) {
onFail("a->ycbcrImageArrays (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_provoking_vertex
void checkEqual_VkPhysicalDeviceProvokingVertexFeaturesEXT(
const VkPhysicalDeviceProvokingVertexFeaturesEXT* a,
const VkPhysicalDeviceProvokingVertexFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->provokingVertexLast) == (b->provokingVertexLast))) {
onFail("a->provokingVertexLast (Error: Value not equal)");
};
if (!((a->transformFeedbackPreservesProvokingVertex) ==
(b->transformFeedbackPreservesProvokingVertex))) {
onFail("a->transformFeedbackPreservesProvokingVertex (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceProvokingVertexPropertiesEXT(
const VkPhysicalDeviceProvokingVertexPropertiesEXT* a,
const VkPhysicalDeviceProvokingVertexPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->provokingVertexModePerPipeline) == (b->provokingVertexModePerPipeline))) {
onFail("a->provokingVertexModePerPipeline (Error: Value not equal)");
};
if (!((a->transformFeedbackPreservesTriangleFanProvokingVertex) ==
(b->transformFeedbackPreservesTriangleFanProvokingVertex))) {
onFail("a->transformFeedbackPreservesTriangleFanProvokingVertex (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* a,
const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->provokingVertexMode) == (b->provokingVertexMode))) {
onFail("a->provokingVertexMode (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_full_screen_exclusive
void checkEqual_VkSurfaceFullScreenExclusiveInfoEXT(const VkSurfaceFullScreenExclusiveInfoEXT* a,
const VkSurfaceFullScreenExclusiveInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fullScreenExclusive) == (b->fullScreenExclusive))) {
onFail("a->fullScreenExclusive (Error: Value not equal)");
};
}
void checkEqual_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
const VkSurfaceCapabilitiesFullScreenExclusiveEXT* a,
const VkSurfaceCapabilitiesFullScreenExclusiveEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fullScreenExclusiveSupported) == (b->fullScreenExclusiveSupported))) {
onFail("a->fullScreenExclusiveSupported (Error: Value not equal)");
};
}
void checkEqual_VkSurfaceFullScreenExclusiveWin32InfoEXT(
const VkSurfaceFullScreenExclusiveWin32InfoEXT* a,
const VkSurfaceFullScreenExclusiveWin32InfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->hmonitor) == (b->hmonitor))) {
onFail("a->hmonitor (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_headless_surface
void checkEqual_VkHeadlessSurfaceCreateInfoEXT(const VkHeadlessSurfaceCreateInfoEXT* a,
const VkHeadlessSurfaceCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_line_rasterization
void checkEqual_VkPhysicalDeviceLineRasterizationFeaturesEXT(
const VkPhysicalDeviceLineRasterizationFeaturesEXT* a,
const VkPhysicalDeviceLineRasterizationFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->rectangularLines) == (b->rectangularLines))) {
onFail("a->rectangularLines (Error: Value not equal)");
};
if (!((a->bresenhamLines) == (b->bresenhamLines))) {
onFail("a->bresenhamLines (Error: Value not equal)");
};
if (!((a->smoothLines) == (b->smoothLines))) {
onFail("a->smoothLines (Error: Value not equal)");
};
if (!((a->stippledRectangularLines) == (b->stippledRectangularLines))) {
onFail("a->stippledRectangularLines (Error: Value not equal)");
};
if (!((a->stippledBresenhamLines) == (b->stippledBresenhamLines))) {
onFail("a->stippledBresenhamLines (Error: Value not equal)");
};
if (!((a->stippledSmoothLines) == (b->stippledSmoothLines))) {
onFail("a->stippledSmoothLines (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceLineRasterizationPropertiesEXT(
const VkPhysicalDeviceLineRasterizationPropertiesEXT* a,
const VkPhysicalDeviceLineRasterizationPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->lineSubPixelPrecisionBits) == (b->lineSubPixelPrecisionBits))) {
onFail("a->lineSubPixelPrecisionBits (Error: Value not equal)");
};
}
void checkEqual_VkPipelineRasterizationLineStateCreateInfoEXT(
const VkPipelineRasterizationLineStateCreateInfoEXT* a,
const VkPipelineRasterizationLineStateCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->lineRasterizationMode) == (b->lineRasterizationMode))) {
onFail("a->lineRasterizationMode (Error: Value not equal)");
};
if (!((a->stippledLineEnable) == (b->stippledLineEnable))) {
onFail("a->stippledLineEnable (Error: Value not equal)");
};
if (!((a->lineStippleFactor) == (b->lineStippleFactor))) {
onFail("a->lineStippleFactor (Error: Value not equal)");
};
if (!((a->lineStipplePattern) == (b->lineStipplePattern))) {
onFail("a->lineStipplePattern (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_shader_atomic_float
void checkEqual_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* a,
const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderBufferFloat32Atomics) == (b->shaderBufferFloat32Atomics))) {
onFail("a->shaderBufferFloat32Atomics (Error: Value not equal)");
};
if (!((a->shaderBufferFloat32AtomicAdd) == (b->shaderBufferFloat32AtomicAdd))) {
onFail("a->shaderBufferFloat32AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderBufferFloat64Atomics) == (b->shaderBufferFloat64Atomics))) {
onFail("a->shaderBufferFloat64Atomics (Error: Value not equal)");
};
if (!((a->shaderBufferFloat64AtomicAdd) == (b->shaderBufferFloat64AtomicAdd))) {
onFail("a->shaderBufferFloat64AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderSharedFloat32Atomics) == (b->shaderSharedFloat32Atomics))) {
onFail("a->shaderSharedFloat32Atomics (Error: Value not equal)");
};
if (!((a->shaderSharedFloat32AtomicAdd) == (b->shaderSharedFloat32AtomicAdd))) {
onFail("a->shaderSharedFloat32AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderSharedFloat64Atomics) == (b->shaderSharedFloat64Atomics))) {
onFail("a->shaderSharedFloat64Atomics (Error: Value not equal)");
};
if (!((a->shaderSharedFloat64AtomicAdd) == (b->shaderSharedFloat64AtomicAdd))) {
onFail("a->shaderSharedFloat64AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderImageFloat32Atomics) == (b->shaderImageFloat32Atomics))) {
onFail("a->shaderImageFloat32Atomics (Error: Value not equal)");
};
if (!((a->shaderImageFloat32AtomicAdd) == (b->shaderImageFloat32AtomicAdd))) {
onFail("a->shaderImageFloat32AtomicAdd (Error: Value not equal)");
};
if (!((a->sparseImageFloat32Atomics) == (b->sparseImageFloat32Atomics))) {
onFail("a->sparseImageFloat32Atomics (Error: Value not equal)");
};
if (!((a->sparseImageFloat32AtomicAdd) == (b->sparseImageFloat32AtomicAdd))) {
onFail("a->sparseImageFloat32AtomicAdd (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_host_query_reset
#endif
#ifdef VK_EXT_index_type_uint8
void checkEqual_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* a,
const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->indexTypeUint8) == (b->indexTypeUint8))) {
onFail("a->indexTypeUint8 (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void checkEqual_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* a,
const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->extendedDynamicState) == (b->extendedDynamicState))) {
onFail("a->extendedDynamicState (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_shader_atomic_float2
void checkEqual_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* a,
const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderBufferFloat16Atomics) == (b->shaderBufferFloat16Atomics))) {
onFail("a->shaderBufferFloat16Atomics (Error: Value not equal)");
};
if (!((a->shaderBufferFloat16AtomicAdd) == (b->shaderBufferFloat16AtomicAdd))) {
onFail("a->shaderBufferFloat16AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderBufferFloat16AtomicMinMax) == (b->shaderBufferFloat16AtomicMinMax))) {
onFail("a->shaderBufferFloat16AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderBufferFloat32AtomicMinMax) == (b->shaderBufferFloat32AtomicMinMax))) {
onFail("a->shaderBufferFloat32AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderBufferFloat64AtomicMinMax) == (b->shaderBufferFloat64AtomicMinMax))) {
onFail("a->shaderBufferFloat64AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderSharedFloat16Atomics) == (b->shaderSharedFloat16Atomics))) {
onFail("a->shaderSharedFloat16Atomics (Error: Value not equal)");
};
if (!((a->shaderSharedFloat16AtomicAdd) == (b->shaderSharedFloat16AtomicAdd))) {
onFail("a->shaderSharedFloat16AtomicAdd (Error: Value not equal)");
};
if (!((a->shaderSharedFloat16AtomicMinMax) == (b->shaderSharedFloat16AtomicMinMax))) {
onFail("a->shaderSharedFloat16AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderSharedFloat32AtomicMinMax) == (b->shaderSharedFloat32AtomicMinMax))) {
onFail("a->shaderSharedFloat32AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderSharedFloat64AtomicMinMax) == (b->shaderSharedFloat64AtomicMinMax))) {
onFail("a->shaderSharedFloat64AtomicMinMax (Error: Value not equal)");
};
if (!((a->shaderImageFloat32AtomicMinMax) == (b->shaderImageFloat32AtomicMinMax))) {
onFail("a->shaderImageFloat32AtomicMinMax (Error: Value not equal)");
};
if (!((a->sparseImageFloat32AtomicMinMax) == (b->sparseImageFloat32AtomicMinMax))) {
onFail("a->sparseImageFloat32AtomicMinMax (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
void checkEqual_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* a,
const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderDemoteToHelperInvocation) == (b->shaderDemoteToHelperInvocation))) {
onFail("a->shaderDemoteToHelperInvocation (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_device_generated_commands
void checkEqual_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* a,
const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxGraphicsShaderGroupCount) == (b->maxGraphicsShaderGroupCount))) {
onFail("a->maxGraphicsShaderGroupCount (Error: Value not equal)");
};
if (!((a->maxIndirectSequenceCount) == (b->maxIndirectSequenceCount))) {
onFail("a->maxIndirectSequenceCount (Error: Value not equal)");
};
if (!((a->maxIndirectCommandsTokenCount) == (b->maxIndirectCommandsTokenCount))) {
onFail("a->maxIndirectCommandsTokenCount (Error: Value not equal)");
};
if (!((a->maxIndirectCommandsStreamCount) == (b->maxIndirectCommandsStreamCount))) {
onFail("a->maxIndirectCommandsStreamCount (Error: Value not equal)");
};
if (!((a->maxIndirectCommandsTokenOffset) == (b->maxIndirectCommandsTokenOffset))) {
onFail("a->maxIndirectCommandsTokenOffset (Error: Value not equal)");
};
if (!((a->maxIndirectCommandsStreamStride) == (b->maxIndirectCommandsStreamStride))) {
onFail("a->maxIndirectCommandsStreamStride (Error: Value not equal)");
};
if (!((a->minSequencesCountBufferOffsetAlignment) ==
(b->minSequencesCountBufferOffsetAlignment))) {
onFail("a->minSequencesCountBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minSequencesIndexBufferOffsetAlignment) ==
(b->minSequencesIndexBufferOffsetAlignment))) {
onFail("a->minSequencesIndexBufferOffsetAlignment (Error: Value not equal)");
};
if (!((a->minIndirectCommandsBufferOffsetAlignment) ==
(b->minIndirectCommandsBufferOffsetAlignment))) {
onFail("a->minIndirectCommandsBufferOffsetAlignment (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* a,
const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceGeneratedCommands) == (b->deviceGeneratedCommands))) {
onFail("a->deviceGeneratedCommands (Error: Value not equal)");
};
}
void checkEqual_VkGraphicsShaderGroupCreateInfoNV(const VkGraphicsShaderGroupCreateInfoNV* a,
const VkGraphicsShaderGroupCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->stageCount (Error: Value not equal)");
};
if ((a->pStages) && (b->pStages)) {
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->pStages (Error: Lengths not equal)");
};
if ((a->stageCount) == (b->stageCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->stageCount; ++i) {
checkEqual_VkPipelineShaderStageCreateInfo(a->pStages + i, b->pStages + i,
onFail);
}
}
}
}
if (!((!(a->pVertexInputState) && !(b->pVertexInputState)) ||
((a->pVertexInputState) && (b->pVertexInputState)))) {
onFail("a->pVertexInputState (Error: Mismatch in optional field)");
};
if (a->pVertexInputState && b->pVertexInputState) {
if ((a->pVertexInputState) && (b->pVertexInputState)) {
checkEqual_VkPipelineVertexInputStateCreateInfo(a->pVertexInputState,
b->pVertexInputState, onFail);
}
}
if (!((!(a->pTessellationState) && !(b->pTessellationState)) ||
((a->pTessellationState) && (b->pTessellationState)))) {
onFail("a->pTessellationState (Error: Mismatch in optional field)");
};
if (a->pTessellationState && b->pTessellationState) {
if ((a->pTessellationState) && (b->pTessellationState)) {
checkEqual_VkPipelineTessellationStateCreateInfo(a->pTessellationState,
b->pTessellationState, onFail);
}
}
}
void checkEqual_VkGraphicsPipelineShaderGroupsCreateInfoNV(
const VkGraphicsPipelineShaderGroupsCreateInfoNV* a,
const VkGraphicsPipelineShaderGroupsCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->groupCount (Error: Value not equal)");
};
if ((a->pGroups) && (b->pGroups)) {
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->pGroups (Error: Lengths not equal)");
};
if ((a->groupCount) == (b->groupCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->groupCount; ++i) {
checkEqual_VkGraphicsShaderGroupCreateInfoNV(a->pGroups + i, b->pGroups + i,
onFail);
}
}
}
}
if (!((a->pipelineCount) == (b->pipelineCount))) {
onFail("a->pipelineCount (Error: Value not equal)");
};
if (!((a->pipelineCount) == (b->pipelineCount))) {
onFail("a->pPipelines (Error: Lengths not equal)");
};
if (!((memcmp(a->pPipelines, b->pPipelines, a->pipelineCount * sizeof(const VkPipeline)) ==
0))) {
onFail("a->pPipelines (Error: Unequal dyn array)");
};
}
void checkEqual_VkBindShaderGroupIndirectCommandNV(const VkBindShaderGroupIndirectCommandNV* a,
const VkBindShaderGroupIndirectCommandNV* b,
OnFailCompareFunc onFail) {
if (!((a->groupIndex) == (b->groupIndex))) {
onFail("a->groupIndex (Error: Value not equal)");
};
}
void checkEqual_VkBindIndexBufferIndirectCommandNV(const VkBindIndexBufferIndirectCommandNV* a,
const VkBindIndexBufferIndirectCommandNV* b,
OnFailCompareFunc onFail) {
if (!((a->bufferAddress) == (b->bufferAddress))) {
onFail("a->bufferAddress (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->indexType) == (b->indexType))) {
onFail("a->indexType (Error: Value not equal)");
};
}
void checkEqual_VkBindVertexBufferIndirectCommandNV(const VkBindVertexBufferIndirectCommandNV* a,
const VkBindVertexBufferIndirectCommandNV* b,
OnFailCompareFunc onFail) {
if (!((a->bufferAddress) == (b->bufferAddress))) {
onFail("a->bufferAddress (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
}
void checkEqual_VkSetStateFlagsIndirectCommandNV(const VkSetStateFlagsIndirectCommandNV* a,
const VkSetStateFlagsIndirectCommandNV* b,
OnFailCompareFunc onFail) {
if (!((a->data) == (b->data))) {
onFail("a->data (Error: Value not equal)");
};
}
void checkEqual_VkIndirectCommandsStreamNV(const VkIndirectCommandsStreamNV* a,
const VkIndirectCommandsStreamNV* b,
OnFailCompareFunc onFail) {
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
}
void checkEqual_VkIndirectCommandsLayoutTokenNV(const VkIndirectCommandsLayoutTokenNV* a,
const VkIndirectCommandsLayoutTokenNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->tokenType) == (b->tokenType))) {
onFail("a->tokenType (Error: Value not equal)");
};
if (!((a->stream) == (b->stream))) {
onFail("a->stream (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->vertexBindingUnit) == (b->vertexBindingUnit))) {
onFail("a->vertexBindingUnit (Error: Value not equal)");
};
if (!((a->vertexDynamicStride) == (b->vertexDynamicStride))) {
onFail("a->vertexDynamicStride (Error: Value not equal)");
};
if (!((a->pushconstantPipelineLayout) == (b->pushconstantPipelineLayout))) {
onFail("a->pushconstantPipelineLayout (Error: Value not equal)");
};
if (!((a->pushconstantShaderStageFlags) == (b->pushconstantShaderStageFlags))) {
onFail("a->pushconstantShaderStageFlags (Error: Value not equal)");
};
if (!((a->pushconstantOffset) == (b->pushconstantOffset))) {
onFail("a->pushconstantOffset (Error: Value not equal)");
};
if (!((a->pushconstantSize) == (b->pushconstantSize))) {
onFail("a->pushconstantSize (Error: Value not equal)");
};
if (!((a->indirectStateFlags) == (b->indirectStateFlags))) {
onFail("a->indirectStateFlags (Error: Value not equal)");
};
if (!((a->indexTypeCount) == (b->indexTypeCount))) {
onFail("a->indexTypeCount (Error: Value not equal)");
};
if (!((a->indexTypeCount) == (b->indexTypeCount))) {
onFail("a->pIndexTypes (Error: Lengths not equal)");
};
if (!((memcmp(a->pIndexTypes, b->pIndexTypes, a->indexTypeCount * sizeof(const VkIndexType)) ==
0))) {
onFail("a->pIndexTypes (Error: Unequal dyn array)");
};
if (!((a->indexTypeCount) == (b->indexTypeCount))) {
onFail("a->pIndexTypeValues (Error: Lengths not equal)");
};
if (!((memcmp(a->pIndexTypeValues, b->pIndexTypeValues,
a->indexTypeCount * sizeof(const uint32_t)) == 0))) {
onFail("a->pIndexTypeValues (Error: Unequal dyn array)");
};
}
void checkEqual_VkIndirectCommandsLayoutCreateInfoNV(const VkIndirectCommandsLayoutCreateInfoNV* a,
const VkIndirectCommandsLayoutCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->tokenCount) == (b->tokenCount))) {
onFail("a->tokenCount (Error: Value not equal)");
};
if ((a->pTokens) && (b->pTokens)) {
if (!((a->tokenCount) == (b->tokenCount))) {
onFail("a->pTokens (Error: Lengths not equal)");
};
if ((a->tokenCount) == (b->tokenCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->tokenCount; ++i) {
checkEqual_VkIndirectCommandsLayoutTokenNV(a->pTokens + i, b->pTokens + i,
onFail);
}
}
}
}
if (!((a->streamCount) == (b->streamCount))) {
onFail("a->streamCount (Error: Value not equal)");
};
if (!((a->streamCount) == (b->streamCount))) {
onFail("a->pStreamStrides (Error: Lengths not equal)");
};
if (!((memcmp(a->pStreamStrides, b->pStreamStrides, a->streamCount * sizeof(const uint32_t)) ==
0))) {
onFail("a->pStreamStrides (Error: Unequal dyn array)");
};
}
void checkEqual_VkGeneratedCommandsInfoNV(const VkGeneratedCommandsInfoNV* a,
const VkGeneratedCommandsInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->pipeline) == (b->pipeline))) {
onFail("a->pipeline (Error: Value not equal)");
};
if (!((a->indirectCommandsLayout) == (b->indirectCommandsLayout))) {
onFail("a->indirectCommandsLayout (Error: Value not equal)");
};
if (!((a->streamCount) == (b->streamCount))) {
onFail("a->streamCount (Error: Value not equal)");
};
if ((a->pStreams) && (b->pStreams)) {
if (!((a->streamCount) == (b->streamCount))) {
onFail("a->pStreams (Error: Lengths not equal)");
};
if ((a->streamCount) == (b->streamCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->streamCount; ++i) {
checkEqual_VkIndirectCommandsStreamNV(a->pStreams + i, b->pStreams + i, onFail);
}
}
}
}
if (!((a->sequencesCount) == (b->sequencesCount))) {
onFail("a->sequencesCount (Error: Value not equal)");
};
if (!((a->preprocessBuffer) == (b->preprocessBuffer))) {
onFail("a->preprocessBuffer (Error: Value not equal)");
};
if (!((a->preprocessOffset) == (b->preprocessOffset))) {
onFail("a->preprocessOffset (Error: Value not equal)");
};
if (!((a->preprocessSize) == (b->preprocessSize))) {
onFail("a->preprocessSize (Error: Value not equal)");
};
if (!((a->sequencesCountBuffer) == (b->sequencesCountBuffer))) {
onFail("a->sequencesCountBuffer (Error: Value not equal)");
};
if (!((a->sequencesCountOffset) == (b->sequencesCountOffset))) {
onFail("a->sequencesCountOffset (Error: Value not equal)");
};
if (!((a->sequencesIndexBuffer) == (b->sequencesIndexBuffer))) {
onFail("a->sequencesIndexBuffer (Error: Value not equal)");
};
if (!((a->sequencesIndexOffset) == (b->sequencesIndexOffset))) {
onFail("a->sequencesIndexOffset (Error: Value not equal)");
};
}
void checkEqual_VkGeneratedCommandsMemoryRequirementsInfoNV(
const VkGeneratedCommandsMemoryRequirementsInfoNV* a,
const VkGeneratedCommandsMemoryRequirementsInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipelineBindPoint) == (b->pipelineBindPoint))) {
onFail("a->pipelineBindPoint (Error: Value not equal)");
};
if (!((a->pipeline) == (b->pipeline))) {
onFail("a->pipeline (Error: Value not equal)");
};
if (!((a->indirectCommandsLayout) == (b->indirectCommandsLayout))) {
onFail("a->indirectCommandsLayout (Error: Value not equal)");
};
if (!((a->maxSequencesCount) == (b->maxSequencesCount))) {
onFail("a->maxSequencesCount (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_inherited_viewport_scissor
void checkEqual_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
const VkPhysicalDeviceInheritedViewportScissorFeaturesNV* a,
const VkPhysicalDeviceInheritedViewportScissorFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->inheritedViewportScissor2D) == (b->inheritedViewportScissor2D))) {
onFail("a->inheritedViewportScissor2D (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferInheritanceViewportScissorInfoNV(
const VkCommandBufferInheritanceViewportScissorInfoNV* a,
const VkCommandBufferInheritanceViewportScissorInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->viewportScissor2D) == (b->viewportScissor2D))) {
onFail("a->viewportScissor2D (Error: Value not equal)");
};
if (!((a->viewportDepthCount) == (b->viewportDepthCount))) {
onFail("a->viewportDepthCount (Error: Value not equal)");
};
if (!((!(a->pViewportDepths) && !(b->pViewportDepths)) ||
((a->pViewportDepths) && (b->pViewportDepths)))) {
onFail("a->pViewportDepths (Error: Mismatch in optional field)");
};
if (a->pViewportDepths && b->pViewportDepths) {
if ((a->pViewportDepths) && (b->pViewportDepths)) {
checkEqual_VkViewport(a->pViewportDepths, b->pViewportDepths, onFail);
}
}
}
#endif
#ifdef VK_EXT_texel_buffer_alignment
void checkEqual_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* a,
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->texelBufferAlignment) == (b->texelBufferAlignment))) {
onFail("a->texelBufferAlignment (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(
const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* a,
const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->storageTexelBufferOffsetAlignmentBytes) ==
(b->storageTexelBufferOffsetAlignmentBytes))) {
onFail("a->storageTexelBufferOffsetAlignmentBytes (Error: Value not equal)");
};
if (!((a->storageTexelBufferOffsetSingleTexelAlignment) ==
(b->storageTexelBufferOffsetSingleTexelAlignment))) {
onFail("a->storageTexelBufferOffsetSingleTexelAlignment (Error: Value not equal)");
};
if (!((a->uniformTexelBufferOffsetAlignmentBytes) ==
(b->uniformTexelBufferOffsetAlignmentBytes))) {
onFail("a->uniformTexelBufferOffsetAlignmentBytes (Error: Value not equal)");
};
if (!((a->uniformTexelBufferOffsetSingleTexelAlignment) ==
(b->uniformTexelBufferOffsetSingleTexelAlignment))) {
onFail("a->uniformTexelBufferOffsetSingleTexelAlignment (Error: Value not equal)");
};
}
#endif
#ifdef VK_QCOM_render_pass_transform
void checkEqual_VkRenderPassTransformBeginInfoQCOM(const VkRenderPassTransformBeginInfoQCOM* a,
const VkRenderPassTransformBeginInfoQCOM* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->transform) == (b->transform))) {
onFail("a->transform (Error: Value not equal)");
};
}
void checkEqual_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
const VkCommandBufferInheritanceRenderPassTransformInfoQCOM* a,
const VkCommandBufferInheritanceRenderPassTransformInfoQCOM* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->transform) == (b->transform))) {
onFail("a->transform (Error: Value not equal)");
};
checkEqual_VkRect2D(&a->renderArea, &b->renderArea, onFail);
}
#endif
#ifdef VK_EXT_device_memory_report
void checkEqual_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* a,
const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->deviceMemoryReport) == (b->deviceMemoryReport))) {
onFail("a->deviceMemoryReport (Error: Value not equal)");
};
}
void checkEqual_VkDeviceMemoryReportCallbackDataEXT(const VkDeviceMemoryReportCallbackDataEXT* a,
const VkDeviceMemoryReportCallbackDataEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->memoryObjectId) == (b->memoryObjectId))) {
onFail("a->memoryObjectId (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->objectType) == (b->objectType))) {
onFail("a->objectType (Error: Value not equal)");
};
if (!((a->objectHandle) == (b->objectHandle))) {
onFail("a->objectHandle (Error: Value not equal)");
};
if (!((a->heapIndex) == (b->heapIndex))) {
onFail("a->heapIndex (Error: Value not equal)");
};
}
void checkEqual_VkDeviceDeviceMemoryReportCreateInfoEXT(
const VkDeviceDeviceMemoryReportCreateInfoEXT* a,
const VkDeviceDeviceMemoryReportCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->pfnUserCallback) == (b->pfnUserCallback))) {
onFail("a->pfnUserCallback (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_acquire_drm_display
#endif
#ifdef VK_EXT_robustness2
void checkEqual_VkPhysicalDeviceRobustness2FeaturesEXT(
const VkPhysicalDeviceRobustness2FeaturesEXT* a,
const VkPhysicalDeviceRobustness2FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->robustBufferAccess2) == (b->robustBufferAccess2))) {
onFail("a->robustBufferAccess2 (Error: Value not equal)");
};
if (!((a->robustImageAccess2) == (b->robustImageAccess2))) {
onFail("a->robustImageAccess2 (Error: Value not equal)");
};
if (!((a->nullDescriptor) == (b->nullDescriptor))) {
onFail("a->nullDescriptor (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceRobustness2PropertiesEXT(
const VkPhysicalDeviceRobustness2PropertiesEXT* a,
const VkPhysicalDeviceRobustness2PropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->robustStorageBufferAccessSizeAlignment) ==
(b->robustStorageBufferAccessSizeAlignment))) {
onFail("a->robustStorageBufferAccessSizeAlignment (Error: Value not equal)");
};
if (!((a->robustUniformBufferAccessSizeAlignment) ==
(b->robustUniformBufferAccessSizeAlignment))) {
onFail("a->robustUniformBufferAccessSizeAlignment (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_custom_border_color
void checkEqual_VkSamplerCustomBorderColorCreateInfoEXT(
const VkSamplerCustomBorderColorCreateInfoEXT* a,
const VkSamplerCustomBorderColorCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkClearColorValue(&a->customBorderColor, &b->customBorderColor, onFail);
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
const VkPhysicalDeviceCustomBorderColorPropertiesEXT* a,
const VkPhysicalDeviceCustomBorderColorPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxCustomBorderColorSamplers) == (b->maxCustomBorderColorSamplers))) {
onFail("a->maxCustomBorderColorSamplers (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
const VkPhysicalDeviceCustomBorderColorFeaturesEXT* a,
const VkPhysicalDeviceCustomBorderColorFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->customBorderColors) == (b->customBorderColors))) {
onFail("a->customBorderColors (Error: Value not equal)");
};
if (!((a->customBorderColorWithoutFormat) == (b->customBorderColorWithoutFormat))) {
onFail("a->customBorderColorWithoutFormat (Error: Value not equal)");
};
}
#endif
#ifdef VK_GOOGLE_user_type
#endif
#ifdef VK_EXT_private_data
void checkEqual_VkPhysicalDevicePrivateDataFeaturesEXT(
const VkPhysicalDevicePrivateDataFeaturesEXT* a,
const VkPhysicalDevicePrivateDataFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->privateData) == (b->privateData))) {
onFail("a->privateData (Error: Value not equal)");
};
}
void checkEqual_VkDevicePrivateDataCreateInfoEXT(const VkDevicePrivateDataCreateInfoEXT* a,
const VkDevicePrivateDataCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->privateDataSlotRequestCount) == (b->privateDataSlotRequestCount))) {
onFail("a->privateDataSlotRequestCount (Error: Value not equal)");
};
}
void checkEqual_VkPrivateDataSlotCreateInfoEXT(const VkPrivateDataSlotCreateInfoEXT* a,
const VkPrivateDataSlotCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
void checkEqual_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT(
const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* a,
const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pipelineCreationCacheControl) == (b->pipelineCreationCacheControl))) {
onFail("a->pipelineCreationCacheControl (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_device_diagnostics_config
void checkEqual_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* a,
const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->diagnosticsConfig) == (b->diagnosticsConfig))) {
onFail("a->diagnosticsConfig (Error: Value not equal)");
};
}
void checkEqual_VkDeviceDiagnosticsConfigCreateInfoNV(
const VkDeviceDiagnosticsConfigCreateInfoNV* a, const VkDeviceDiagnosticsConfigCreateInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
#endif
#ifdef VK_QCOM_render_pass_store_ops
#endif
#ifdef VK_NV_fragment_shading_rate_enums
void checkEqual_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* a,
const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fragmentShadingRateEnums) == (b->fragmentShadingRateEnums))) {
onFail("a->fragmentShadingRateEnums (Error: Value not equal)");
};
if (!((a->supersampleFragmentShadingRates) == (b->supersampleFragmentShadingRates))) {
onFail("a->supersampleFragmentShadingRates (Error: Value not equal)");
};
if (!((a->noInvocationFragmentShadingRates) == (b->noInvocationFragmentShadingRates))) {
onFail("a->noInvocationFragmentShadingRates (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* a,
const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxFragmentShadingRateInvocationCount) ==
(b->maxFragmentShadingRateInvocationCount))) {
onFail("a->maxFragmentShadingRateInvocationCount (Error: Value not equal)");
};
}
void checkEqual_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
const VkPipelineFragmentShadingRateEnumStateCreateInfoNV* a,
const VkPipelineFragmentShadingRateEnumStateCreateInfoNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shadingRateType) == (b->shadingRateType))) {
onFail("a->shadingRateType (Error: Value not equal)");
};
if (!((a->shadingRate) == (b->shadingRate))) {
onFail("a->shadingRate (Error: Value not equal)");
};
if (!((memcmp(a->combinerOps, b->combinerOps, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR)) ==
0))) {
onFail("a->combinerOps (Error: Unequal static array)");
};
}
#endif
#ifdef VK_NV_ray_tracing_motion_blur
void checkEqual_VkDeviceOrHostAddressConstKHR(const VkDeviceOrHostAddressConstKHR* a,
const VkDeviceOrHostAddressConstKHR* b,
OnFailCompareFunc onFail) {
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
if (!((!(a->hostAddress) && !(b->hostAddress)) || ((a->hostAddress) && (b->hostAddress)))) {
onFail("a->hostAddress (Error: Mismatch in optional field)");
};
}
void checkEqual_VkAccelerationStructureGeometryMotionTrianglesDataNV(
const VkAccelerationStructureGeometryMotionTrianglesDataNV* a,
const VkAccelerationStructureGeometryMotionTrianglesDataNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDeviceOrHostAddressConstKHR(&a->vertexData, &b->vertexData, onFail);
}
void checkEqual_VkAccelerationStructureMotionInfoNV(const VkAccelerationStructureMotionInfoNV* a,
const VkAccelerationStructureMotionInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxInstances) == (b->maxInstances))) {
onFail("a->maxInstances (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureMatrixMotionInstanceNV(
const VkAccelerationStructureMatrixMotionInstanceNV* a,
const VkAccelerationStructureMatrixMotionInstanceNV* b, OnFailCompareFunc onFail) {
checkEqual_VkTransformMatrixKHR(&a->transformT0, &b->transformT0, onFail);
checkEqual_VkTransformMatrixKHR(&a->transformT1, &b->transformT1, onFail);
if (!((a->instanceCustomIndex) == (b->instanceCustomIndex))) {
onFail("a->instanceCustomIndex (Error: Value not equal)");
};
if (!((a->mask) == (b->mask))) {
onFail("a->mask (Error: Value not equal)");
};
if (!((a->instanceShaderBindingTableRecordOffset) ==
(b->instanceShaderBindingTableRecordOffset))) {
onFail("a->instanceShaderBindingTableRecordOffset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->accelerationStructureReference) == (b->accelerationStructureReference))) {
onFail("a->accelerationStructureReference (Error: Value not equal)");
};
}
void checkEqual_VkSRTDataNV(const VkSRTDataNV* a, const VkSRTDataNV* b, OnFailCompareFunc onFail) {
if (!((a->sx) == (b->sx))) {
onFail("a->sx (Error: Value not equal)");
};
if (!((a->a) == (b->a))) {
onFail("a->a (Error: Value not equal)");
};
if (!((a->b) == (b->b))) {
onFail("a->b (Error: Value not equal)");
};
if (!((a->pvx) == (b->pvx))) {
onFail("a->pvx (Error: Value not equal)");
};
if (!((a->sy) == (b->sy))) {
onFail("a->sy (Error: Value not equal)");
};
if (!((a->c) == (b->c))) {
onFail("a->c (Error: Value not equal)");
};
if (!((a->pvy) == (b->pvy))) {
onFail("a->pvy (Error: Value not equal)");
};
if (!((a->sz) == (b->sz))) {
onFail("a->sz (Error: Value not equal)");
};
if (!((a->pvz) == (b->pvz))) {
onFail("a->pvz (Error: Value not equal)");
};
if (!((a->qx) == (b->qx))) {
onFail("a->qx (Error: Value not equal)");
};
if (!((a->qy) == (b->qy))) {
onFail("a->qy (Error: Value not equal)");
};
if (!((a->qz) == (b->qz))) {
onFail("a->qz (Error: Value not equal)");
};
if (!((a->qw) == (b->qw))) {
onFail("a->qw (Error: Value not equal)");
};
if (!((a->tx) == (b->tx))) {
onFail("a->tx (Error: Value not equal)");
};
if (!((a->ty) == (b->ty))) {
onFail("a->ty (Error: Value not equal)");
};
if (!((a->tz) == (b->tz))) {
onFail("a->tz (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureSRTMotionInstanceNV(
const VkAccelerationStructureSRTMotionInstanceNV* a,
const VkAccelerationStructureSRTMotionInstanceNV* b, OnFailCompareFunc onFail) {
checkEqual_VkSRTDataNV(&a->transformT0, &b->transformT0, onFail);
checkEqual_VkSRTDataNV(&a->transformT1, &b->transformT1, onFail);
if (!((a->instanceCustomIndex) == (b->instanceCustomIndex))) {
onFail("a->instanceCustomIndex (Error: Value not equal)");
};
if (!((a->mask) == (b->mask))) {
onFail("a->mask (Error: Value not equal)");
};
if (!((a->instanceShaderBindingTableRecordOffset) ==
(b->instanceShaderBindingTableRecordOffset))) {
onFail("a->instanceShaderBindingTableRecordOffset (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->accelerationStructureReference) == (b->accelerationStructureReference))) {
onFail("a->accelerationStructureReference (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureMotionInstanceDataNV(
const VkAccelerationStructureMotionInstanceDataNV* a,
const VkAccelerationStructureMotionInstanceDataNV* b, OnFailCompareFunc onFail) {
checkEqual_VkAccelerationStructureInstanceKHR(&a->staticInstance, &b->staticInstance, onFail);
checkEqual_VkAccelerationStructureMatrixMotionInstanceNV(&a->matrixMotionInstance,
&b->matrixMotionInstance, onFail);
checkEqual_VkAccelerationStructureSRTMotionInstanceNV(&a->srtMotionInstance,
&b->srtMotionInstance, onFail);
}
void checkEqual_VkAccelerationStructureMotionInstanceNV(
const VkAccelerationStructureMotionInstanceNV* a,
const VkAccelerationStructureMotionInstanceNV* b, OnFailCompareFunc onFail) {
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
checkEqual_VkAccelerationStructureMotionInstanceDataNV(&a->data, &b->data, onFail);
}
void checkEqual_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* a,
const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->rayTracingMotionBlur) == (b->rayTracingMotionBlur))) {
onFail("a->rayTracingMotionBlur (Error: Value not equal)");
};
if (!((a->rayTracingMotionBlurPipelineTraceRaysIndirect) ==
(b->rayTracingMotionBlurPipelineTraceRaysIndirect))) {
onFail("a->rayTracingMotionBlurPipelineTraceRaysIndirect (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
void checkEqual_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* a,
const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->ycbcr2plane444Formats) == (b->ycbcr2plane444Formats))) {
onFail("a->ycbcr2plane444Formats (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_fragment_density_map2
void checkEqual_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT* a,
const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->fragmentDensityMapDeferred) == (b->fragmentDensityMapDeferred))) {
onFail("a->fragmentDensityMapDeferred (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT* a,
const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->subsampledLoads) == (b->subsampledLoads))) {
onFail("a->subsampledLoads (Error: Value not equal)");
};
if (!((a->subsampledCoarseReconstructionEarlyAccess) ==
(b->subsampledCoarseReconstructionEarlyAccess))) {
onFail("a->subsampledCoarseReconstructionEarlyAccess (Error: Value not equal)");
};
if (!((a->maxSubsampledArrayLayers) == (b->maxSubsampledArrayLayers))) {
onFail("a->maxSubsampledArrayLayers (Error: Value not equal)");
};
if (!((a->maxDescriptorSetSubsampledSamplers) == (b->maxDescriptorSetSubsampledSamplers))) {
onFail("a->maxDescriptorSetSubsampledSamplers (Error: Value not equal)");
};
}
#endif
#ifdef VK_QCOM_rotated_copy_commands
void checkEqual_VkCopyCommandTransformInfoQCOM(const VkCopyCommandTransformInfoQCOM* a,
const VkCopyCommandTransformInfoQCOM* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->transform) == (b->transform))) {
onFail("a->transform (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_image_robustness
void checkEqual_VkPhysicalDeviceImageRobustnessFeaturesEXT(
const VkPhysicalDeviceImageRobustnessFeaturesEXT* a,
const VkPhysicalDeviceImageRobustnessFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->robustImageAccess) == (b->robustImageAccess))) {
onFail("a->robustImageAccess (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_4444_formats
void checkEqual_VkPhysicalDevice4444FormatsFeaturesEXT(
const VkPhysicalDevice4444FormatsFeaturesEXT* a,
const VkPhysicalDevice4444FormatsFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->formatA4R4G4B4) == (b->formatA4R4G4B4))) {
onFail("a->formatA4R4G4B4 (Error: Value not equal)");
};
if (!((a->formatA4B4G4R4) == (b->formatA4B4G4R4))) {
onFail("a->formatA4B4G4R4 (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_rgba10x6_formats
void checkEqual_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* a,
const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->formatRgba10x6WithoutYCbCrSampler) == (b->formatRgba10x6WithoutYCbCrSampler))) {
onFail("a->formatRgba10x6WithoutYCbCrSampler (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_acquire_winrt_display
#endif
#ifdef VK_EXT_directfb_surface
void checkEqual_VkDirectFBSurfaceCreateInfoEXT(const VkDirectFBSurfaceCreateInfoEXT* a,
const VkDirectFBSurfaceCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->dfb) && !(b->dfb)) || ((a->dfb) && (b->dfb)))) {
onFail("a->dfb (Error: Mismatch in optional field)");
};
if (a->dfb && b->dfb) {
if (!((memcmp(a->dfb, b->dfb, sizeof(IDirectFB)) == 0))) {
onFail("a->dfb (Error: Unequal dyn array)");
};
}
if (!((!(a->surface) && !(b->surface)) || ((a->surface) && (b->surface)))) {
onFail("a->surface (Error: Mismatch in optional field)");
};
if (a->surface && b->surface) {
if (!((memcmp(a->surface, b->surface, sizeof(IDirectFBSurface)) == 0))) {
onFail("a->surface (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_VALVE_mutable_descriptor_type
void checkEqual_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* a,
const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->mutableDescriptorType) == (b->mutableDescriptorType))) {
onFail("a->mutableDescriptorType (Error: Value not equal)");
};
}
void checkEqual_VkMutableDescriptorTypeListVALVE(const VkMutableDescriptorTypeListVALVE* a,
const VkMutableDescriptorTypeListVALVE* b,
OnFailCompareFunc onFail) {
if (!((a->descriptorTypeCount) == (b->descriptorTypeCount))) {
onFail("a->descriptorTypeCount (Error: Value not equal)");
};
if (!((a->descriptorTypeCount) == (b->descriptorTypeCount))) {
onFail("a->pDescriptorTypes (Error: Lengths not equal)");
};
if (!((memcmp(a->pDescriptorTypes, b->pDescriptorTypes,
a->descriptorTypeCount * sizeof(const VkDescriptorType)) == 0))) {
onFail("a->pDescriptorTypes (Error: Unequal dyn array)");
};
}
void checkEqual_VkMutableDescriptorTypeCreateInfoVALVE(
const VkMutableDescriptorTypeCreateInfoVALVE* a,
const VkMutableDescriptorTypeCreateInfoVALVE* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->mutableDescriptorTypeListCount) == (b->mutableDescriptorTypeListCount))) {
onFail("a->mutableDescriptorTypeListCount (Error: Value not equal)");
};
if ((a->pMutableDescriptorTypeLists) && (b->pMutableDescriptorTypeLists)) {
if (!((a->mutableDescriptorTypeListCount) == (b->mutableDescriptorTypeListCount))) {
onFail("a->pMutableDescriptorTypeLists (Error: Lengths not equal)");
};
if ((a->mutableDescriptorTypeListCount) == (b->mutableDescriptorTypeListCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->mutableDescriptorTypeListCount; ++i) {
checkEqual_VkMutableDescriptorTypeListVALVE(a->pMutableDescriptorTypeLists + i,
b->pMutableDescriptorTypeLists + i,
onFail);
}
}
}
}
}
#endif
#ifdef VK_EXT_vertex_input_dynamic_state
void checkEqual_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* a,
const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vertexInputDynamicState) == (b->vertexInputDynamicState))) {
onFail("a->vertexInputDynamicState (Error: Value not equal)");
};
}
void checkEqual_VkVertexInputBindingDescription2EXT(const VkVertexInputBindingDescription2EXT* a,
const VkVertexInputBindingDescription2EXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
if (!((a->inputRate) == (b->inputRate))) {
onFail("a->inputRate (Error: Value not equal)");
};
if (!((a->divisor) == (b->divisor))) {
onFail("a->divisor (Error: Value not equal)");
};
}
void checkEqual_VkVertexInputAttributeDescription2EXT(
const VkVertexInputAttributeDescription2EXT* a, const VkVertexInputAttributeDescription2EXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->location) == (b->location))) {
onFail("a->location (Error: Value not equal)");
};
if (!((a->binding) == (b->binding))) {
onFail("a->binding (Error: Value not equal)");
};
if (!((a->format) == (b->format))) {
onFail("a->format (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_physical_device_drm
void checkEqual_VkPhysicalDeviceDrmPropertiesEXT(const VkPhysicalDeviceDrmPropertiesEXT* a,
const VkPhysicalDeviceDrmPropertiesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->hasPrimary) == (b->hasPrimary))) {
onFail("a->hasPrimary (Error: Value not equal)");
};
if (!((a->hasRender) == (b->hasRender))) {
onFail("a->hasRender (Error: Value not equal)");
};
if (!((a->primaryMajor) == (b->primaryMajor))) {
onFail("a->primaryMajor (Error: Value not equal)");
};
if (!((a->primaryMinor) == (b->primaryMinor))) {
onFail("a->primaryMinor (Error: Value not equal)");
};
if (!((a->renderMajor) == (b->renderMajor))) {
onFail("a->renderMajor (Error: Value not equal)");
};
if (!((a->renderMinor) == (b->renderMinor))) {
onFail("a->renderMinor (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
void checkEqual_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* a,
const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->primitiveTopologyListRestart) == (b->primitiveTopologyListRestart))) {
onFail("a->primitiveTopologyListRestart (Error: Value not equal)");
};
if (!((a->primitiveTopologyPatchListRestart) == (b->primitiveTopologyPatchListRestart))) {
onFail("a->primitiveTopologyPatchListRestart (Error: Value not equal)");
};
}
#endif
#ifdef VK_FUCHSIA_external_memory
void checkEqual_VkImportMemoryZirconHandleInfoFUCHSIA(
const VkImportMemoryZirconHandleInfoFUCHSIA* a, const VkImportMemoryZirconHandleInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->handle) == (b->handle))) {
onFail("a->handle (Error: Value not equal)");
};
}
void checkEqual_VkMemoryZirconHandlePropertiesFUCHSIA(
const VkMemoryZirconHandlePropertiesFUCHSIA* a, const VkMemoryZirconHandlePropertiesFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
}
void checkEqual_VkMemoryGetZirconHandleInfoFUCHSIA(const VkMemoryGetZirconHandleInfoFUCHSIA* a,
const VkMemoryGetZirconHandleInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_FUCHSIA_external_semaphore
void checkEqual_VkImportSemaphoreZirconHandleInfoFUCHSIA(
const VkImportSemaphoreZirconHandleInfoFUCHSIA* a,
const VkImportSemaphoreZirconHandleInfoFUCHSIA* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
if (!((a->zirconHandle) == (b->zirconHandle))) {
onFail("a->zirconHandle (Error: Value not equal)");
};
}
void checkEqual_VkSemaphoreGetZirconHandleInfoFUCHSIA(
const VkSemaphoreGetZirconHandleInfoFUCHSIA* a, const VkSemaphoreGetZirconHandleInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->semaphore) == (b->semaphore))) {
onFail("a->semaphore (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
#endif
#ifdef VK_FUCHSIA_buffer_collection
void checkEqual_VkBufferCollectionCreateInfoFUCHSIA(const VkBufferCollectionCreateInfoFUCHSIA* a,
const VkBufferCollectionCreateInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->collectionToken) == (b->collectionToken))) {
onFail("a->collectionToken (Error: Value not equal)");
};
}
void checkEqual_VkImportMemoryBufferCollectionFUCHSIA(
const VkImportMemoryBufferCollectionFUCHSIA* a, const VkImportMemoryBufferCollectionFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->collection) == (b->collection))) {
onFail("a->collection (Error: Value not equal)");
};
if (!((a->index) == (b->index))) {
onFail("a->index (Error: Value not equal)");
};
}
void checkEqual_VkBufferCollectionImageCreateInfoFUCHSIA(
const VkBufferCollectionImageCreateInfoFUCHSIA* a,
const VkBufferCollectionImageCreateInfoFUCHSIA* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->collection) == (b->collection))) {
onFail("a->collection (Error: Value not equal)");
};
if (!((a->index) == (b->index))) {
onFail("a->index (Error: Value not equal)");
};
}
void checkEqual_VkBufferCollectionConstraintsInfoFUCHSIA(
const VkBufferCollectionConstraintsInfoFUCHSIA* a,
const VkBufferCollectionConstraintsInfoFUCHSIA* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->minBufferCount) == (b->minBufferCount))) {
onFail("a->minBufferCount (Error: Value not equal)");
};
if (!((a->maxBufferCount) == (b->maxBufferCount))) {
onFail("a->maxBufferCount (Error: Value not equal)");
};
if (!((a->minBufferCountForCamping) == (b->minBufferCountForCamping))) {
onFail("a->minBufferCountForCamping (Error: Value not equal)");
};
if (!((a->minBufferCountForDedicatedSlack) == (b->minBufferCountForDedicatedSlack))) {
onFail("a->minBufferCountForDedicatedSlack (Error: Value not equal)");
};
if (!((a->minBufferCountForSharedSlack) == (b->minBufferCountForSharedSlack))) {
onFail("a->minBufferCountForSharedSlack (Error: Value not equal)");
};
}
void checkEqual_VkBufferConstraintsInfoFUCHSIA(const VkBufferConstraintsInfoFUCHSIA* a,
const VkBufferConstraintsInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkBufferCreateInfo(&a->createInfo, &b->createInfo, onFail);
if (!((a->requiredFormatFeatures) == (b->requiredFormatFeatures))) {
onFail("a->requiredFormatFeatures (Error: Value not equal)");
};
checkEqual_VkBufferCollectionConstraintsInfoFUCHSIA(&a->bufferCollectionConstraints,
&b->bufferCollectionConstraints, onFail);
}
void checkEqual_VkBufferCollectionBufferCreateInfoFUCHSIA(
const VkBufferCollectionBufferCreateInfoFUCHSIA* a,
const VkBufferCollectionBufferCreateInfoFUCHSIA* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->collection) == (b->collection))) {
onFail("a->collection (Error: Value not equal)");
};
if (!((a->index) == (b->index))) {
onFail("a->index (Error: Value not equal)");
};
}
void checkEqual_VkSysmemColorSpaceFUCHSIA(const VkSysmemColorSpaceFUCHSIA* a,
const VkSysmemColorSpaceFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->colorSpace) == (b->colorSpace))) {
onFail("a->colorSpace (Error: Value not equal)");
};
}
void checkEqual_VkBufferCollectionPropertiesFUCHSIA(const VkBufferCollectionPropertiesFUCHSIA* a,
const VkBufferCollectionPropertiesFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memoryTypeBits) == (b->memoryTypeBits))) {
onFail("a->memoryTypeBits (Error: Value not equal)");
};
if (!((a->bufferCount) == (b->bufferCount))) {
onFail("a->bufferCount (Error: Value not equal)");
};
if (!((a->createInfoIndex) == (b->createInfoIndex))) {
onFail("a->createInfoIndex (Error: Value not equal)");
};
if (!((a->sysmemPixelFormat) == (b->sysmemPixelFormat))) {
onFail("a->sysmemPixelFormat (Error: Value not equal)");
};
if (!((a->formatFeatures) == (b->formatFeatures))) {
onFail("a->formatFeatures (Error: Value not equal)");
};
checkEqual_VkSysmemColorSpaceFUCHSIA(&a->sysmemColorSpaceIndex, &b->sysmemColorSpaceIndex,
onFail);
checkEqual_VkComponentMapping(&a->samplerYcbcrConversionComponents,
&b->samplerYcbcrConversionComponents, onFail);
if (!((a->suggestedYcbcrModel) == (b->suggestedYcbcrModel))) {
onFail("a->suggestedYcbcrModel (Error: Value not equal)");
};
if (!((a->suggestedYcbcrRange) == (b->suggestedYcbcrRange))) {
onFail("a->suggestedYcbcrRange (Error: Value not equal)");
};
if (!((a->suggestedXChromaOffset) == (b->suggestedXChromaOffset))) {
onFail("a->suggestedXChromaOffset (Error: Value not equal)");
};
if (!((a->suggestedYChromaOffset) == (b->suggestedYChromaOffset))) {
onFail("a->suggestedYChromaOffset (Error: Value not equal)");
};
}
void checkEqual_VkImageFormatConstraintsInfoFUCHSIA(const VkImageFormatConstraintsInfoFUCHSIA* a,
const VkImageFormatConstraintsInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkImageCreateInfo(&a->imageCreateInfo, &b->imageCreateInfo, onFail);
if (!((a->requiredFormatFeatures) == (b->requiredFormatFeatures))) {
onFail("a->requiredFormatFeatures (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->sysmemPixelFormat) == (b->sysmemPixelFormat))) {
onFail("a->sysmemPixelFormat (Error: Value not equal)");
};
if (!((a->colorSpaceCount) == (b->colorSpaceCount))) {
onFail("a->colorSpaceCount (Error: Value not equal)");
};
if ((a->pColorSpaces) && (b->pColorSpaces)) {
checkEqual_VkSysmemColorSpaceFUCHSIA(a->pColorSpaces, b->pColorSpaces, onFail);
}
}
void checkEqual_VkImageConstraintsInfoFUCHSIA(const VkImageConstraintsInfoFUCHSIA* a,
const VkImageConstraintsInfoFUCHSIA* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->formatConstraintsCount) == (b->formatConstraintsCount))) {
onFail("a->formatConstraintsCount (Error: Value not equal)");
};
if ((a->pFormatConstraints) && (b->pFormatConstraints)) {
if (!((a->formatConstraintsCount) == (b->formatConstraintsCount))) {
onFail("a->pFormatConstraints (Error: Lengths not equal)");
};
if ((a->formatConstraintsCount) == (b->formatConstraintsCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->formatConstraintsCount; ++i) {
checkEqual_VkImageFormatConstraintsInfoFUCHSIA(
a->pFormatConstraints + i, b->pFormatConstraints + i, onFail);
}
}
}
}
checkEqual_VkBufferCollectionConstraintsInfoFUCHSIA(&a->bufferCollectionConstraints,
&b->bufferCollectionConstraints, onFail);
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
#endif
#ifdef VK_HUAWEI_subpass_shading
void checkEqual_VkSubpassShadingPipelineCreateInfoHUAWEI(
const VkSubpassShadingPipelineCreateInfoHUAWEI* a,
const VkSubpassShadingPipelineCreateInfoHUAWEI* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->renderPass) == (b->renderPass))) {
onFail("a->renderPass (Error: Value not equal)");
};
if (!((a->subpass) == (b->subpass))) {
onFail("a->subpass (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* a,
const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->subpassShading) == (b->subpassShading))) {
onFail("a->subpassShading (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* a,
const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxSubpassShadingWorkgroupSizeAspectRatio) ==
(b->maxSubpassShadingWorkgroupSizeAspectRatio))) {
onFail("a->maxSubpassShadingWorkgroupSizeAspectRatio (Error: Value not equal)");
};
}
#endif
#ifdef VK_HUAWEI_invocation_mask
void checkEqual_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* a,
const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->invocationMask) == (b->invocationMask))) {
onFail("a->invocationMask (Error: Value not equal)");
};
}
#endif
#ifdef VK_NV_external_memory_rdma
void checkEqual_VkMemoryGetRemoteAddressInfoNV(const VkMemoryGetRemoteAddressInfoNV* a,
const VkMemoryGetRemoteAddressInfoNV* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->memory) == (b->memory))) {
onFail("a->memory (Error: Value not equal)");
};
if (!((a->handleType) == (b->handleType))) {
onFail("a->handleType (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* a,
const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->externalMemoryRDMA) == (b->externalMemoryRDMA))) {
onFail("a->externalMemoryRDMA (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void checkEqual_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* a,
const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->extendedDynamicState2) == (b->extendedDynamicState2))) {
onFail("a->extendedDynamicState2 (Error: Value not equal)");
};
if (!((a->extendedDynamicState2LogicOp) == (b->extendedDynamicState2LogicOp))) {
onFail("a->extendedDynamicState2LogicOp (Error: Value not equal)");
};
if (!((a->extendedDynamicState2PatchControlPoints) ==
(b->extendedDynamicState2PatchControlPoints))) {
onFail("a->extendedDynamicState2PatchControlPoints (Error: Value not equal)");
};
}
#endif
#ifdef VK_QNX_screen_surface
void checkEqual_VkScreenSurfaceCreateInfoQNX(const VkScreenSurfaceCreateInfoQNX* a,
const VkScreenSurfaceCreateInfoQNX* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((!(a->context) && !(b->context)) || ((a->context) && (b->context)))) {
onFail("a->context (Error: Mismatch in optional field)");
};
if (a->context && b->context) {
if (!((memcmp(a->context, b->context, sizeof(_screen_context)) == 0))) {
onFail("a->context (Error: Unequal dyn array)");
};
}
if (!((!(a->window) && !(b->window)) || ((a->window) && (b->window)))) {
onFail("a->window (Error: Mismatch in optional field)");
};
if (a->window && b->window) {
if (!((memcmp(a->window, b->window, sizeof(_screen_window)) == 0))) {
onFail("a->window (Error: Unequal dyn array)");
};
}
}
#endif
#ifdef VK_EXT_color_write_enable
void checkEqual_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
const VkPhysicalDeviceColorWriteEnableFeaturesEXT* a,
const VkPhysicalDeviceColorWriteEnableFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->colorWriteEnable) == (b->colorWriteEnable))) {
onFail("a->colorWriteEnable (Error: Value not equal)");
};
}
void checkEqual_VkPipelineColorWriteCreateInfoEXT(const VkPipelineColorWriteCreateInfoEXT* a,
const VkPipelineColorWriteCreateInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->attachmentCount (Error: Value not equal)");
};
if (!((a->attachmentCount) == (b->attachmentCount))) {
onFail("a->pColorWriteEnables (Error: Lengths not equal)");
};
if (!((memcmp(a->pColorWriteEnables, b->pColorWriteEnables,
a->attachmentCount * sizeof(const VkBool32)) == 0))) {
onFail("a->pColorWriteEnables (Error: Unequal dyn array)");
};
}
#endif
#ifdef VK_GOOGLE_gfxstream
void checkEqual_VkImportColorBufferGOOGLE(const VkImportColorBufferGOOGLE* a,
const VkImportColorBufferGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->colorBuffer) == (b->colorBuffer))) {
onFail("a->colorBuffer (Error: Value not equal)");
};
}
void checkEqual_VkImportBufferGOOGLE(const VkImportBufferGOOGLE* a, const VkImportBufferGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
}
void checkEqual_VkCreateBlobGOOGLE(const VkCreateBlobGOOGLE* a, const VkCreateBlobGOOGLE* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->blobMem) == (b->blobMem))) {
onFail("a->blobMem (Error: Value not equal)");
};
if (!((a->blobFlags) == (b->blobFlags))) {
onFail("a->blobFlags (Error: Value not equal)");
};
if (!((a->blobId) == (b->blobId))) {
onFail("a->blobId (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_global_priority_query
void checkEqual_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT(
const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* a,
const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->globalPriorityQuery) == (b->globalPriorityQuery))) {
onFail("a->globalPriorityQuery (Error: Value not equal)");
};
}
void checkEqual_VkQueueFamilyGlobalPriorityPropertiesEXT(
const VkQueueFamilyGlobalPriorityPropertiesEXT* a,
const VkQueueFamilyGlobalPriorityPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->priorityCount) == (b->priorityCount))) {
onFail("a->priorityCount (Error: Value not equal)");
};
if (!((memcmp(a->priorities, b->priorities,
VK_MAX_GLOBAL_PRIORITY_SIZE_EXT * sizeof(VkQueueGlobalPriorityEXT)) == 0))) {
onFail("a->priorities (Error: Unequal static array)");
};
}
#endif
#ifdef VK_EXT_multi_draw
void checkEqual_VkPhysicalDeviceMultiDrawFeaturesEXT(const VkPhysicalDeviceMultiDrawFeaturesEXT* a,
const VkPhysicalDeviceMultiDrawFeaturesEXT* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->multiDraw) == (b->multiDraw))) {
onFail("a->multiDraw (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceMultiDrawPropertiesEXT(
const VkPhysicalDeviceMultiDrawPropertiesEXT* a,
const VkPhysicalDeviceMultiDrawPropertiesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxMultiDrawCount) == (b->maxMultiDrawCount))) {
onFail("a->maxMultiDrawCount (Error: Value not equal)");
};
}
void checkEqual_VkMultiDrawInfoEXT(const VkMultiDrawInfoEXT* a, const VkMultiDrawInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->firstVertex) == (b->firstVertex))) {
onFail("a->firstVertex (Error: Value not equal)");
};
if (!((a->vertexCount) == (b->vertexCount))) {
onFail("a->vertexCount (Error: Value not equal)");
};
}
void checkEqual_VkMultiDrawIndexedInfoEXT(const VkMultiDrawIndexedInfoEXT* a,
const VkMultiDrawIndexedInfoEXT* b,
OnFailCompareFunc onFail) {
if (!((a->firstIndex) == (b->firstIndex))) {
onFail("a->firstIndex (Error: Value not equal)");
};
if (!((a->indexCount) == (b->indexCount))) {
onFail("a->indexCount (Error: Value not equal)");
};
if (!((a->vertexOffset) == (b->vertexOffset))) {
onFail("a->vertexOffset (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_load_store_op_none
#endif
#ifdef VK_EXT_border_color_swizzle
void checkEqual_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* a,
const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->borderColorSwizzle) == (b->borderColorSwizzle))) {
onFail("a->borderColorSwizzle (Error: Value not equal)");
};
if (!((a->borderColorSwizzleFromImage) == (b->borderColorSwizzleFromImage))) {
onFail("a->borderColorSwizzleFromImage (Error: Value not equal)");
};
}
void checkEqual_VkSamplerBorderColorComponentMappingCreateInfoEXT(
const VkSamplerBorderColorComponentMappingCreateInfoEXT* a,
const VkSamplerBorderColorComponentMappingCreateInfoEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkComponentMapping(&a->components, &b->components, onFail);
if (!((a->srgb) == (b->srgb))) {
onFail("a->srgb (Error: Value not equal)");
};
}
#endif
#ifdef VK_EXT_pageable_device_local_memory
void checkEqual_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* a,
const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->pageableDeviceLocalMemory) == (b->pageableDeviceLocalMemory))) {
onFail("a->pageableDeviceLocalMemory (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_acceleration_structure
void checkEqual_VkDeviceOrHostAddressKHR(const VkDeviceOrHostAddressKHR* a,
const VkDeviceOrHostAddressKHR* b,
OnFailCompareFunc onFail) {
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
if (!((!(a->hostAddress) && !(b->hostAddress)) || ((a->hostAddress) && (b->hostAddress)))) {
onFail("a->hostAddress (Error: Mismatch in optional field)");
};
}
void checkEqual_VkAccelerationStructureBuildRangeInfoKHR(
const VkAccelerationStructureBuildRangeInfoKHR* a,
const VkAccelerationStructureBuildRangeInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->primitiveCount) == (b->primitiveCount))) {
onFail("a->primitiveCount (Error: Value not equal)");
};
if (!((a->primitiveOffset) == (b->primitiveOffset))) {
onFail("a->primitiveOffset (Error: Value not equal)");
};
if (!((a->firstVertex) == (b->firstVertex))) {
onFail("a->firstVertex (Error: Value not equal)");
};
if (!((a->transformOffset) == (b->transformOffset))) {
onFail("a->transformOffset (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureGeometryTrianglesDataKHR(
const VkAccelerationStructureGeometryTrianglesDataKHR* a,
const VkAccelerationStructureGeometryTrianglesDataKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->vertexFormat) == (b->vertexFormat))) {
onFail("a->vertexFormat (Error: Value not equal)");
};
checkEqual_VkDeviceOrHostAddressConstKHR(&a->vertexData, &b->vertexData, onFail);
if (!((a->vertexStride) == (b->vertexStride))) {
onFail("a->vertexStride (Error: Value not equal)");
};
if (!((a->maxVertex) == (b->maxVertex))) {
onFail("a->maxVertex (Error: Value not equal)");
};
if (!((a->indexType) == (b->indexType))) {
onFail("a->indexType (Error: Value not equal)");
};
checkEqual_VkDeviceOrHostAddressConstKHR(&a->indexData, &b->indexData, onFail);
checkEqual_VkDeviceOrHostAddressConstKHR(&a->transformData, &b->transformData, onFail);
}
void checkEqual_VkAccelerationStructureGeometryAabbsDataKHR(
const VkAccelerationStructureGeometryAabbsDataKHR* a,
const VkAccelerationStructureGeometryAabbsDataKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDeviceOrHostAddressConstKHR(&a->data, &b->data, onFail);
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureGeometryInstancesDataKHR(
const VkAccelerationStructureGeometryInstancesDataKHR* a,
const VkAccelerationStructureGeometryInstancesDataKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->arrayOfPointers) == (b->arrayOfPointers))) {
onFail("a->arrayOfPointers (Error: Value not equal)");
};
checkEqual_VkDeviceOrHostAddressConstKHR(&a->data, &b->data, onFail);
}
void checkEqual_VkAccelerationStructureGeometryDataKHR(
const VkAccelerationStructureGeometryDataKHR* a,
const VkAccelerationStructureGeometryDataKHR* b, OnFailCompareFunc onFail) {
checkEqual_VkAccelerationStructureGeometryTrianglesDataKHR(&a->triangles, &b->triangles,
onFail);
checkEqual_VkAccelerationStructureGeometryAabbsDataKHR(&a->aabbs, &b->aabbs, onFail);
checkEqual_VkAccelerationStructureGeometryInstancesDataKHR(&a->instances, &b->instances,
onFail);
}
void checkEqual_VkAccelerationStructureGeometryKHR(const VkAccelerationStructureGeometryKHR* a,
const VkAccelerationStructureGeometryKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->geometryType) == (b->geometryType))) {
onFail("a->geometryType (Error: Value not equal)");
};
checkEqual_VkAccelerationStructureGeometryDataKHR(&a->geometry, &b->geometry, onFail);
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureBuildGeometryInfoKHR(
const VkAccelerationStructureBuildGeometryInfoKHR* a,
const VkAccelerationStructureBuildGeometryInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
if (!((a->srcAccelerationStructure) == (b->srcAccelerationStructure))) {
onFail("a->srcAccelerationStructure (Error: Value not equal)");
};
if (!((a->dstAccelerationStructure) == (b->dstAccelerationStructure))) {
onFail("a->dstAccelerationStructure (Error: Value not equal)");
};
if (!((a->geometryCount) == (b->geometryCount))) {
onFail("a->geometryCount (Error: Value not equal)");
};
if (!((!(a->pGeometries) && !(b->pGeometries)) || ((a->pGeometries) && (b->pGeometries)))) {
onFail("a->pGeometries (Error: Mismatch in optional field)");
};
if (a->pGeometries && b->pGeometries) {
if ((a->pGeometries) && (b->pGeometries)) {
if (!((a->geometryCount) == (b->geometryCount))) {
onFail("a->pGeometries (Error: Lengths not equal)");
};
if ((a->geometryCount) == (b->geometryCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->geometryCount; ++i) {
checkEqual_VkAccelerationStructureGeometryKHR(a->pGeometries + i,
b->pGeometries + i, onFail);
}
}
}
}
}
checkEqual_VkDeviceOrHostAddressKHR(&a->scratchData, &b->scratchData, onFail);
}
void checkEqual_VkAccelerationStructureCreateInfoKHR(const VkAccelerationStructureCreateInfoKHR* a,
const VkAccelerationStructureCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->createFlags) == (b->createFlags))) {
onFail("a->createFlags (Error: Value not equal)");
};
if (!((a->buffer) == (b->buffer))) {
onFail("a->buffer (Error: Value not equal)");
};
if (!((a->offset) == (b->offset))) {
onFail("a->offset (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
}
void checkEqual_VkWriteDescriptorSetAccelerationStructureKHR(
const VkWriteDescriptorSetAccelerationStructureKHR* a,
const VkWriteDescriptorSetAccelerationStructureKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructureCount) == (b->accelerationStructureCount))) {
onFail("a->accelerationStructureCount (Error: Value not equal)");
};
if (!((!(a->pAccelerationStructures) && !(b->pAccelerationStructures)) ||
((a->pAccelerationStructures) && (b->pAccelerationStructures)))) {
onFail("a->pAccelerationStructures (Error: Mismatch in optional field)");
};
if (a->pAccelerationStructures && b->pAccelerationStructures) {
if (!((a->accelerationStructureCount) == (b->accelerationStructureCount))) {
onFail("a->pAccelerationStructures (Error: Lengths not equal)");
};
if (!((memcmp(a->pAccelerationStructures, b->pAccelerationStructures,
a->accelerationStructureCount * sizeof(const VkAccelerationStructureKHR)) ==
0))) {
onFail("a->pAccelerationStructures (Error: Unequal dyn array)");
};
}
}
void checkEqual_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
const VkPhysicalDeviceAccelerationStructureFeaturesKHR* a,
const VkPhysicalDeviceAccelerationStructureFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructure) == (b->accelerationStructure))) {
onFail("a->accelerationStructure (Error: Value not equal)");
};
if (!((a->accelerationStructureCaptureReplay) == (b->accelerationStructureCaptureReplay))) {
onFail("a->accelerationStructureCaptureReplay (Error: Value not equal)");
};
if (!((a->accelerationStructureIndirectBuild) == (b->accelerationStructureIndirectBuild))) {
onFail("a->accelerationStructureIndirectBuild (Error: Value not equal)");
};
if (!((a->accelerationStructureHostCommands) == (b->accelerationStructureHostCommands))) {
onFail("a->accelerationStructureHostCommands (Error: Value not equal)");
};
if (!((a->descriptorBindingAccelerationStructureUpdateAfterBind) ==
(b->descriptorBindingAccelerationStructureUpdateAfterBind))) {
onFail("a->descriptorBindingAccelerationStructureUpdateAfterBind (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
const VkPhysicalDeviceAccelerationStructurePropertiesKHR* a,
const VkPhysicalDeviceAccelerationStructurePropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxGeometryCount) == (b->maxGeometryCount))) {
onFail("a->maxGeometryCount (Error: Value not equal)");
};
if (!((a->maxInstanceCount) == (b->maxInstanceCount))) {
onFail("a->maxInstanceCount (Error: Value not equal)");
};
if (!((a->maxPrimitiveCount) == (b->maxPrimitiveCount))) {
onFail("a->maxPrimitiveCount (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorAccelerationStructures) ==
(b->maxPerStageDescriptorAccelerationStructures))) {
onFail("a->maxPerStageDescriptorAccelerationStructures (Error: Value not equal)");
};
if (!((a->maxPerStageDescriptorUpdateAfterBindAccelerationStructures) ==
(b->maxPerStageDescriptorUpdateAfterBindAccelerationStructures))) {
onFail(
"a->maxPerStageDescriptorUpdateAfterBindAccelerationStructures (Error: Value not "
"equal)");
};
if (!((a->maxDescriptorSetAccelerationStructures) ==
(b->maxDescriptorSetAccelerationStructures))) {
onFail("a->maxDescriptorSetAccelerationStructures (Error: Value not equal)");
};
if (!((a->maxDescriptorSetUpdateAfterBindAccelerationStructures) ==
(b->maxDescriptorSetUpdateAfterBindAccelerationStructures))) {
onFail("a->maxDescriptorSetUpdateAfterBindAccelerationStructures (Error: Value not equal)");
};
if (!((a->minAccelerationStructureScratchOffsetAlignment) ==
(b->minAccelerationStructureScratchOffsetAlignment))) {
onFail("a->minAccelerationStructureScratchOffsetAlignment (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureDeviceAddressInfoKHR(
const VkAccelerationStructureDeviceAddressInfoKHR* a,
const VkAccelerationStructureDeviceAddressInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructure) == (b->accelerationStructure))) {
onFail("a->accelerationStructure (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureVersionInfoKHR(
const VkAccelerationStructureVersionInfoKHR* a, const VkAccelerationStructureVersionInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((2 * VK_UUID_SIZE) == (2 * VK_UUID_SIZE))) {
onFail("a->pVersionData (Error: Lengths not equal)");
};
if (!((memcmp(a->pVersionData, b->pVersionData, 2 * VK_UUID_SIZE * sizeof(const uint8_t)) ==
0))) {
onFail("a->pVersionData (Error: Unequal dyn array)");
};
}
void checkEqual_VkCopyAccelerationStructureToMemoryInfoKHR(
const VkCopyAccelerationStructureToMemoryInfoKHR* a,
const VkCopyAccelerationStructureToMemoryInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->src) == (b->src))) {
onFail("a->src (Error: Value not equal)");
};
checkEqual_VkDeviceOrHostAddressKHR(&a->dst, &b->dst, onFail);
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
}
void checkEqual_VkCopyMemoryToAccelerationStructureInfoKHR(
const VkCopyMemoryToAccelerationStructureInfoKHR* a,
const VkCopyMemoryToAccelerationStructureInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
checkEqual_VkDeviceOrHostAddressConstKHR(&a->src, &b->src, onFail);
if (!((a->dst) == (b->dst))) {
onFail("a->dst (Error: Value not equal)");
};
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
}
void checkEqual_VkCopyAccelerationStructureInfoKHR(const VkCopyAccelerationStructureInfoKHR* a,
const VkCopyAccelerationStructureInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->src) == (b->src))) {
onFail("a->src (Error: Value not equal)");
};
if (!((a->dst) == (b->dst))) {
onFail("a->dst (Error: Value not equal)");
};
if (!((a->mode) == (b->mode))) {
onFail("a->mode (Error: Value not equal)");
};
}
void checkEqual_VkAccelerationStructureBuildSizesInfoKHR(
const VkAccelerationStructureBuildSizesInfoKHR* a,
const VkAccelerationStructureBuildSizesInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->accelerationStructureSize) == (b->accelerationStructureSize))) {
onFail("a->accelerationStructureSize (Error: Value not equal)");
};
if (!((a->updateScratchSize) == (b->updateScratchSize))) {
onFail("a->updateScratchSize (Error: Value not equal)");
};
if (!((a->buildScratchSize) == (b->buildScratchSize))) {
onFail("a->buildScratchSize (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_ray_tracing_pipeline
void checkEqual_VkRayTracingShaderGroupCreateInfoKHR(const VkRayTracingShaderGroupCreateInfoKHR* a,
const VkRayTracingShaderGroupCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->type) == (b->type))) {
onFail("a->type (Error: Value not equal)");
};
if (!((a->generalShader) == (b->generalShader))) {
onFail("a->generalShader (Error: Value not equal)");
};
if (!((a->closestHitShader) == (b->closestHitShader))) {
onFail("a->closestHitShader (Error: Value not equal)");
};
if (!((a->anyHitShader) == (b->anyHitShader))) {
onFail("a->anyHitShader (Error: Value not equal)");
};
if (!((a->intersectionShader) == (b->intersectionShader))) {
onFail("a->intersectionShader (Error: Value not equal)");
};
if (!((!(a->pShaderGroupCaptureReplayHandle) && !(b->pShaderGroupCaptureReplayHandle)) ||
((a->pShaderGroupCaptureReplayHandle) && (b->pShaderGroupCaptureReplayHandle)))) {
onFail("a->pShaderGroupCaptureReplayHandle (Error: Mismatch in optional field)");
};
}
void checkEqual_VkRayTracingPipelineInterfaceCreateInfoKHR(
const VkRayTracingPipelineInterfaceCreateInfoKHR* a,
const VkRayTracingPipelineInterfaceCreateInfoKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->maxPipelineRayPayloadSize) == (b->maxPipelineRayPayloadSize))) {
onFail("a->maxPipelineRayPayloadSize (Error: Value not equal)");
};
if (!((a->maxPipelineRayHitAttributeSize) == (b->maxPipelineRayHitAttributeSize))) {
onFail("a->maxPipelineRayHitAttributeSize (Error: Value not equal)");
};
}
void checkEqual_VkRayTracingPipelineCreateInfoKHR(const VkRayTracingPipelineCreateInfoKHR* a,
const VkRayTracingPipelineCreateInfoKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->flags) == (b->flags))) {
onFail("a->flags (Error: Value not equal)");
};
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->stageCount (Error: Value not equal)");
};
if ((a->pStages) && (b->pStages)) {
if (!((a->stageCount) == (b->stageCount))) {
onFail("a->pStages (Error: Lengths not equal)");
};
if ((a->stageCount) == (b->stageCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->stageCount; ++i) {
checkEqual_VkPipelineShaderStageCreateInfo(a->pStages + i, b->pStages + i,
onFail);
}
}
}
}
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->groupCount (Error: Value not equal)");
};
if ((a->pGroups) && (b->pGroups)) {
if (!((a->groupCount) == (b->groupCount))) {
onFail("a->pGroups (Error: Lengths not equal)");
};
if ((a->groupCount) == (b->groupCount)) {
if (a) {
for (uint32_t i = 0; i < (uint32_t)a->groupCount; ++i) {
checkEqual_VkRayTracingShaderGroupCreateInfoKHR(a->pGroups + i, b->pGroups + i,
onFail);
}
}
}
}
if (!((a->maxPipelineRayRecursionDepth) == (b->maxPipelineRayRecursionDepth))) {
onFail("a->maxPipelineRayRecursionDepth (Error: Value not equal)");
};
if (!((!(a->pLibraryInfo) && !(b->pLibraryInfo)) || ((a->pLibraryInfo) && (b->pLibraryInfo)))) {
onFail("a->pLibraryInfo (Error: Mismatch in optional field)");
};
if (a->pLibraryInfo && b->pLibraryInfo) {
if ((a->pLibraryInfo) && (b->pLibraryInfo)) {
checkEqual_VkPipelineLibraryCreateInfoKHR(a->pLibraryInfo, b->pLibraryInfo, onFail);
}
}
if (!((!(a->pLibraryInterface) && !(b->pLibraryInterface)) ||
((a->pLibraryInterface) && (b->pLibraryInterface)))) {
onFail("a->pLibraryInterface (Error: Mismatch in optional field)");
};
if (a->pLibraryInterface && b->pLibraryInterface) {
if ((a->pLibraryInterface) && (b->pLibraryInterface)) {
checkEqual_VkRayTracingPipelineInterfaceCreateInfoKHR(a->pLibraryInterface,
b->pLibraryInterface, onFail);
}
}
if (!((!(a->pDynamicState) && !(b->pDynamicState)) ||
((a->pDynamicState) && (b->pDynamicState)))) {
onFail("a->pDynamicState (Error: Mismatch in optional field)");
};
if (a->pDynamicState && b->pDynamicState) {
if ((a->pDynamicState) && (b->pDynamicState)) {
checkEqual_VkPipelineDynamicStateCreateInfo(a->pDynamicState, b->pDynamicState, onFail);
}
}
if (!((a->layout) == (b->layout))) {
onFail("a->layout (Error: Value not equal)");
};
if (!((a->basePipelineHandle) == (b->basePipelineHandle))) {
onFail("a->basePipelineHandle (Error: Value not equal)");
};
if (!((a->basePipelineIndex) == (b->basePipelineIndex))) {
onFail("a->basePipelineIndex (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* a,
const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->rayTracingPipeline) == (b->rayTracingPipeline))) {
onFail("a->rayTracingPipeline (Error: Value not equal)");
};
if (!((a->rayTracingPipelineShaderGroupHandleCaptureReplay) ==
(b->rayTracingPipelineShaderGroupHandleCaptureReplay))) {
onFail("a->rayTracingPipelineShaderGroupHandleCaptureReplay (Error: Value not equal)");
};
if (!((a->rayTracingPipelineShaderGroupHandleCaptureReplayMixed) ==
(b->rayTracingPipelineShaderGroupHandleCaptureReplayMixed))) {
onFail("a->rayTracingPipelineShaderGroupHandleCaptureReplayMixed (Error: Value not equal)");
};
if (!((a->rayTracingPipelineTraceRaysIndirect) == (b->rayTracingPipelineTraceRaysIndirect))) {
onFail("a->rayTracingPipelineTraceRaysIndirect (Error: Value not equal)");
};
if (!((a->rayTraversalPrimitiveCulling) == (b->rayTraversalPrimitiveCulling))) {
onFail("a->rayTraversalPrimitiveCulling (Error: Value not equal)");
};
}
void checkEqual_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* a,
const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* b, OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->shaderGroupHandleSize) == (b->shaderGroupHandleSize))) {
onFail("a->shaderGroupHandleSize (Error: Value not equal)");
};
if (!((a->maxRayRecursionDepth) == (b->maxRayRecursionDepth))) {
onFail("a->maxRayRecursionDepth (Error: Value not equal)");
};
if (!((a->maxShaderGroupStride) == (b->maxShaderGroupStride))) {
onFail("a->maxShaderGroupStride (Error: Value not equal)");
};
if (!((a->shaderGroupBaseAlignment) == (b->shaderGroupBaseAlignment))) {
onFail("a->shaderGroupBaseAlignment (Error: Value not equal)");
};
if (!((a->shaderGroupHandleCaptureReplaySize) == (b->shaderGroupHandleCaptureReplaySize))) {
onFail("a->shaderGroupHandleCaptureReplaySize (Error: Value not equal)");
};
if (!((a->maxRayDispatchInvocationCount) == (b->maxRayDispatchInvocationCount))) {
onFail("a->maxRayDispatchInvocationCount (Error: Value not equal)");
};
if (!((a->shaderGroupHandleAlignment) == (b->shaderGroupHandleAlignment))) {
onFail("a->shaderGroupHandleAlignment (Error: Value not equal)");
};
if (!((a->maxRayHitAttributeSize) == (b->maxRayHitAttributeSize))) {
onFail("a->maxRayHitAttributeSize (Error: Value not equal)");
};
}
void checkEqual_VkStridedDeviceAddressRegionKHR(const VkStridedDeviceAddressRegionKHR* a,
const VkStridedDeviceAddressRegionKHR* b,
OnFailCompareFunc onFail) {
if (!((a->deviceAddress) == (b->deviceAddress))) {
onFail("a->deviceAddress (Error: Value not equal)");
};
if (!((a->stride) == (b->stride))) {
onFail("a->stride (Error: Value not equal)");
};
if (!((a->size) == (b->size))) {
onFail("a->size (Error: Value not equal)");
};
}
void checkEqual_VkTraceRaysIndirectCommandKHR(const VkTraceRaysIndirectCommandKHR* a,
const VkTraceRaysIndirectCommandKHR* b,
OnFailCompareFunc onFail) {
if (!((a->width) == (b->width))) {
onFail("a->width (Error: Value not equal)");
};
if (!((a->height) == (b->height))) {
onFail("a->height (Error: Value not equal)");
};
if (!((a->depth) == (b->depth))) {
onFail("a->depth (Error: Value not equal)");
};
}
#endif
#ifdef VK_KHR_ray_query
void checkEqual_VkPhysicalDeviceRayQueryFeaturesKHR(const VkPhysicalDeviceRayQueryFeaturesKHR* a,
const VkPhysicalDeviceRayQueryFeaturesKHR* b,
OnFailCompareFunc onFail) {
if (!((a->sType) == (b->sType))) {
onFail("a->sType (Error: Value not equal)");
};
if (a->pNext) {
checkEqual_extension_struct(a->pNext, b->pNext, onFail);
}
if (!((a->rayQuery) == (b->rayQuery))) {
onFail("a->rayQuery (Error: Value not equal)");
};
}
#endif
void checkEqual_extension_struct(const void* structExtension, const void* structExtension2,
OnFailCompareFunc onFail) {
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: {
checkEqual_VkPhysicalDeviceSubgroupProperties(
reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
checkEqual_VkPhysicalDevice16BitStorageFeatures(
reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
checkEqual_VkMemoryDedicatedRequirements(
reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension),
reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
checkEqual_VkMemoryDedicatedAllocateInfo(
reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension),
reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
checkEqual_VkMemoryAllocateFlagsInfo(
reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension),
reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
checkEqual_VkDeviceGroupRenderPassBeginInfo(
reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension),
reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
checkEqual_VkDeviceGroupCommandBufferBeginInfo(
reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension),
reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
checkEqual_VkDeviceGroupSubmitInfo(
reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension),
reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
checkEqual_VkDeviceGroupBindSparseInfo(
reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension),
reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
checkEqual_VkBindBufferMemoryDeviceGroupInfo(
reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension),
reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
checkEqual_VkBindImageMemoryDeviceGroupInfo(
reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension),
reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
checkEqual_VkDeviceGroupDeviceCreateInfo(
reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension),
reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
checkEqual_VkPhysicalDeviceFeatures2(
reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
checkEqual_VkPhysicalDevicePointClippingProperties(
reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
checkEqual_VkRenderPassInputAttachmentAspectCreateInfo(
reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
structExtension),
reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
checkEqual_VkImageViewUsageCreateInfo(
reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension),
reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
checkEqual_VkPipelineTessellationDomainOriginStateCreateInfo(
reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
structExtension),
reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
checkEqual_VkRenderPassMultiviewCreateInfo(
reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension),
reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
checkEqual_VkPhysicalDeviceMultiviewFeatures(
reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
checkEqual_VkPhysicalDeviceMultiviewProperties(
reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
checkEqual_VkPhysicalDeviceVariablePointersFeatures(
reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
checkEqual_VkPhysicalDeviceProtectedMemoryFeatures(
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
checkEqual_VkPhysicalDeviceProtectedMemoryProperties(
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
checkEqual_VkProtectedSubmitInfo(
reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension),
reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
checkEqual_VkSamplerYcbcrConversionInfo(
reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension),
reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
checkEqual_VkBindImagePlaneMemoryInfo(
reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension),
reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
checkEqual_VkImagePlaneMemoryRequirementsInfo(
reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension),
reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
checkEqual_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
checkEqual_VkSamplerYcbcrConversionImageFormatProperties(
reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
structExtension),
reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
checkEqual_VkPhysicalDeviceExternalImageFormatInfo(
reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
checkEqual_VkExternalImageFormatProperties(
reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension),
reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
checkEqual_VkPhysicalDeviceIDProperties(
reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
checkEqual_VkExternalMemoryImageCreateInfo(
reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension),
reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
checkEqual_VkExternalMemoryBufferCreateInfo(
reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension),
reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
checkEqual_VkExportMemoryAllocateInfo(
reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension),
reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
checkEqual_VkExportFenceCreateInfo(
reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension),
reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
checkEqual_VkExportSemaphoreCreateInfo(
reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension),
reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
checkEqual_VkPhysicalDeviceMaintenance3Properties(
reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
checkEqual_VkPhysicalDeviceShaderDrawParametersFeatures(
reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
checkEqual_VkPhysicalDeviceVulkan11Features(
reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
checkEqual_VkPhysicalDeviceVulkan11Properties(
reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
checkEqual_VkPhysicalDeviceVulkan12Features(
reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
checkEqual_VkPhysicalDeviceVulkan12Properties(
reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
checkEqual_VkImageFormatListCreateInfo(
reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension),
reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
checkEqual_VkPhysicalDevice8BitStorageFeatures(
reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
checkEqual_VkPhysicalDeviceDriverProperties(
reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
checkEqual_VkPhysicalDeviceShaderAtomicInt64Features(
reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
checkEqual_VkPhysicalDeviceShaderFloat16Int8Features(
reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
checkEqual_VkPhysicalDeviceFloatControlsProperties(
reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
checkEqual_VkDescriptorSetLayoutBindingFlagsCreateInfo(
reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
structExtension),
reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
checkEqual_VkPhysicalDeviceDescriptorIndexingFeatures(
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
checkEqual_VkPhysicalDeviceDescriptorIndexingProperties(
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
checkEqual_VkDescriptorSetVariableDescriptorCountAllocateInfo(
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
structExtension),
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
checkEqual_VkDescriptorSetVariableDescriptorCountLayoutSupport(
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
structExtension),
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
checkEqual_VkSubpassDescriptionDepthStencilResolve(
reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
checkEqual_VkPhysicalDeviceDepthStencilResolveProperties(
reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
checkEqual_VkPhysicalDeviceScalarBlockLayoutFeatures(
reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
checkEqual_VkImageStencilUsageCreateInfo(
reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension),
reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
checkEqual_VkSamplerReductionModeCreateInfo(
reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension),
reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
checkEqual_VkPhysicalDeviceSamplerFilterMinmaxProperties(
reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
checkEqual_VkPhysicalDeviceVulkanMemoryModelFeatures(
reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
checkEqual_VkPhysicalDeviceImagelessFramebufferFeatures(
reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
checkEqual_VkFramebufferAttachmentsCreateInfo(
reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension),
reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
checkEqual_VkRenderPassAttachmentBeginInfo(
reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension),
reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
checkEqual_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
checkEqual_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
checkEqual_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
checkEqual_VkAttachmentReferenceStencilLayout(
reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension),
reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
checkEqual_VkAttachmentDescriptionStencilLayout(
reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
checkEqual_VkPhysicalDeviceHostQueryResetFeatures(
reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
checkEqual_VkPhysicalDeviceTimelineSemaphoreFeatures(
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
checkEqual_VkPhysicalDeviceTimelineSemaphoreProperties(
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
checkEqual_VkSemaphoreTypeCreateInfo(
reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension),
reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
checkEqual_VkTimelineSemaphoreSubmitInfo(
reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension),
reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
checkEqual_VkPhysicalDeviceBufferDeviceAddressFeatures(
reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
checkEqual_VkBufferOpaqueCaptureAddressCreateInfo(
reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
checkEqual_VkMemoryOpaqueCaptureAddressAllocateInfo(
reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
checkEqual_VkImageSwapchainCreateInfoKHR(
reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension),
reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
checkEqual_VkBindImageMemorySwapchainInfoKHR(
reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension),
reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
checkEqual_VkDeviceGroupPresentInfoKHR(
reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension),
reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
checkEqual_VkDeviceGroupSwapchainCreateInfoKHR(
reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension),
reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_display_swapchain
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
checkEqual_VkDisplayPresentInfoKHR(
reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension),
reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_video_queue
case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: {
checkEqual_VkVideoQueueFamilyProperties2KHR(
reinterpret_cast<const VkVideoQueueFamilyProperties2KHR*>(structExtension),
reinterpret_cast<const VkVideoQueueFamilyProperties2KHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: {
checkEqual_VkVideoProfileKHR(
reinterpret_cast<const VkVideoProfileKHR*>(structExtension),
reinterpret_cast<const VkVideoProfileKHR*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: {
checkEqual_VkVideoProfilesKHR(
reinterpret_cast<const VkVideoProfilesKHR*>(structExtension),
reinterpret_cast<const VkVideoProfilesKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: {
checkEqual_VkPipelineRenderingCreateInfoKHR(
reinterpret_cast<const VkPipelineRenderingCreateInfoKHR*>(structExtension),
reinterpret_cast<const VkPipelineRenderingCreateInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceDynamicRenderingFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: {
checkEqual_VkCommandBufferInheritanceRenderingInfoKHR(
reinterpret_cast<const VkCommandBufferInheritanceRenderingInfoKHR*>(
structExtension),
reinterpret_cast<const VkCommandBufferInheritanceRenderingInfoKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
checkEqual_VkRenderingFragmentShadingRateAttachmentInfoKHR(
reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
structExtension),
reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
checkEqual_VkRenderingFragmentDensityMapAttachmentInfoEXT(
reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
structExtension),
reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
checkEqual_VkAttachmentSampleCountInfoAMD(
reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension),
reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
checkEqual_VkMultiviewPerViewAttributesInfoNVX(
reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension),
reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
checkEqual_VkImportMemoryWin32HandleInfoKHR(
reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension),
reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
checkEqual_VkExportMemoryWin32HandleInfoKHR(
reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension),
reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_external_memory_fd
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
checkEqual_VkImportMemoryFdInfoKHR(
reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension),
reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
checkEqual_VkWin32KeyedMutexAcquireReleaseInfoKHR(
reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension),
reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_external_semaphore_win32
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
checkEqual_VkExportSemaphoreWin32HandleInfoKHR(
reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension),
reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
checkEqual_VkD3D12FenceSubmitInfoKHR(
reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension),
reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_push_descriptor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
checkEqual_VkPhysicalDevicePushDescriptorPropertiesKHR(
reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
checkEqual_VkPresentRegionsKHR(
reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
reinterpret_cast<const VkPresentRegionsKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_shared_presentable_image
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
checkEqual_VkSharedPresentSurfaceCapabilitiesKHR(
reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension),
reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_external_fence_win32
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
checkEqual_VkExportFenceWin32HandleInfoKHR(
reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension),
reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_performance_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
checkEqual_VkPhysicalDevicePerformanceQueryFeaturesKHR(
reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
checkEqual_VkPhysicalDevicePerformanceQueryPropertiesKHR(
reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
checkEqual_VkQueryPoolPerformanceCreateInfoKHR(
reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR*>(structExtension),
reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
checkEqual_VkPerformanceQuerySubmitInfoKHR(
reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR*>(structExtension),
reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_portability_subset
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
checkEqual_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
checkEqual_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_shader_clock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceShaderClockFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_shader_terminate_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_fragment_shading_rate
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
checkEqual_VkFragmentShadingRateAttachmentInfoKHR(
reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR*>(structExtension),
reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
checkEqual_VkPipelineFragmentShadingRateStateCreateInfoKHR(
reinterpret_cast<const VkPipelineFragmentShadingRateStateCreateInfoKHR*>(
structExtension),
reinterpret_cast<const VkPipelineFragmentShadingRateStateCreateInfoKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
checkEqual_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRatePropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRatePropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_surface_protected_capabilities
case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
checkEqual_VkSurfaceProtectedCapabilitiesKHR(
reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR*>(structExtension),
reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_present_wait
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
checkEqual_VkPhysicalDevicePresentWaitFeaturesKHR(
reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
checkEqual_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_shader_integer_dot_product
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: {
checkEqual_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR(
reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_present_id
case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
checkEqual_VkPresentIdKHR(reinterpret_cast<const VkPresentIdKHR*>(structExtension),
reinterpret_cast<const VkPresentIdKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
checkEqual_VkPhysicalDevicePresentIdFeaturesKHR(
reinterpret_cast<const VkPhysicalDevicePresentIdFeaturesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDevicePresentIdFeaturesKHR*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_video_encode_queue
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
checkEqual_VkVideoEncodeRateControlInfoKHR(
reinterpret_cast<const VkVideoEncodeRateControlInfoKHR*>(structExtension),
reinterpret_cast<const VkVideoEncodeRateControlInfoKHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: {
checkEqual_VkMemoryBarrier2KHR(
reinterpret_cast<const VkMemoryBarrier2KHR*>(structExtension),
reinterpret_cast<const VkMemoryBarrier2KHR*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceSynchronization2FeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceSynchronization2FeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSynchronization2FeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
checkEqual_VkQueueFamilyCheckpointProperties2NV(
reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension),
reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_shader_subgroup_uniform_control_flow
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
reinterpret_cast<
const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR*>(
structExtension),
reinterpret_cast<
const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_workgroup_memory_explicit_layout
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_format_feature_flags2
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: {
checkEqual_VkFormatProperties3KHR(
reinterpret_cast<const VkFormatProperties3KHR*>(structExtension),
reinterpret_cast<const VkFormatProperties3KHR*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_KHR_maintenance4
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceMaintenance4FeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceMaintenance4FeaturesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMaintenance4FeaturesKHR*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: {
checkEqual_VkPhysicalDeviceMaintenance4PropertiesKHR(
reinterpret_cast<const VkPhysicalDeviceMaintenance4PropertiesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMaintenance4PropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
checkEqual_VkNativeBufferANDROID(
reinterpret_cast<const VkNativeBufferANDROID*>(structExtension),
reinterpret_cast<const VkNativeBufferANDROID*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_debug_report
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
checkEqual_VkDebugReportCallbackCreateInfoEXT(
reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_rasterization_order
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
checkEqual_VkPipelineRasterizationStateRasterizationOrderAMD(
reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_dedicated_allocation
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
checkEqual_VkDedicatedAllocationImageCreateInfoNV(
reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension),
reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
checkEqual_VkDedicatedAllocationBufferCreateInfoNV(
reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension),
reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
checkEqual_VkDedicatedAllocationMemoryAllocateInfoNV(
reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension),
reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
checkEqual_VkPipelineRasterizationStateStreamCreateInfoEXT(
reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_video_encode_h264
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
checkEqual_VkVideoEncodeH264CapabilitiesEXT(
reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: {
checkEqual_VkVideoEncodeH264SessionCreateInfoEXT(
reinterpret_cast<const VkVideoEncodeH264SessionCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH264SessionCreateInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
checkEqual_VkVideoEncodeH264SessionParametersAddInfoEXT(
reinterpret_cast<const VkVideoEncodeH264SessionParametersAddInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoEncodeH264SessionParametersAddInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
checkEqual_VkVideoEncodeH264SessionParametersCreateInfoEXT(
reinterpret_cast<const VkVideoEncodeH264SessionParametersCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoEncodeH264SessionParametersCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: {
checkEqual_VkVideoEncodeH264VclFrameInfoEXT(
reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: {
checkEqual_VkVideoEncodeH264EmitPictureParametersEXT(
reinterpret_cast<const VkVideoEncodeH264EmitPictureParametersEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH264EmitPictureParametersEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: {
checkEqual_VkVideoEncodeH264ProfileEXT(
reinterpret_cast<const VkVideoEncodeH264ProfileEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH264ProfileEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_video_encode_h265
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
checkEqual_VkVideoEncodeH265CapabilitiesEXT(
reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: {
checkEqual_VkVideoEncodeH265SessionCreateInfoEXT(
reinterpret_cast<const VkVideoEncodeH265SessionCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH265SessionCreateInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
checkEqual_VkVideoEncodeH265SessionParametersAddInfoEXT(
reinterpret_cast<const VkVideoEncodeH265SessionParametersAddInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoEncodeH265SessionParametersAddInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
checkEqual_VkVideoEncodeH265SessionParametersCreateInfoEXT(
reinterpret_cast<const VkVideoEncodeH265SessionParametersCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoEncodeH265SessionParametersCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: {
checkEqual_VkVideoEncodeH265VclFrameInfoEXT(
reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: {
checkEqual_VkVideoEncodeH265EmitPictureParametersEXT(
reinterpret_cast<const VkVideoEncodeH265EmitPictureParametersEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH265EmitPictureParametersEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: {
checkEqual_VkVideoEncodeH265ProfileEXT(
reinterpret_cast<const VkVideoEncodeH265ProfileEXT*>(structExtension),
reinterpret_cast<const VkVideoEncodeH265ProfileEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_video_decode_h264
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: {
checkEqual_VkVideoDecodeH264ProfileEXT(
reinterpret_cast<const VkVideoDecodeH264ProfileEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264ProfileEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: {
checkEqual_VkVideoDecodeH264CapabilitiesEXT(
reinterpret_cast<const VkVideoDecodeH264CapabilitiesEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264CapabilitiesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: {
checkEqual_VkVideoDecodeH264SessionCreateInfoEXT(
reinterpret_cast<const VkVideoDecodeH264SessionCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264SessionCreateInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
checkEqual_VkVideoDecodeH264SessionParametersAddInfoEXT(
reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
checkEqual_VkVideoDecodeH264SessionParametersCreateInfoEXT(
reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: {
checkEqual_VkVideoDecodeH264PictureInfoEXT(
reinterpret_cast<const VkVideoDecodeH264PictureInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264PictureInfoEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: {
checkEqual_VkVideoDecodeH264MvcEXT(
reinterpret_cast<const VkVideoDecodeH264MvcEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264MvcEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: {
checkEqual_VkVideoDecodeH264DpbSlotInfoEXT(
reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
checkEqual_VkTextureLODGatherFormatPropertiesAMD(
reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension),
reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_corner_sampled_image
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
checkEqual_VkPhysicalDeviceCornerSampledImageFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_external_memory
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
checkEqual_VkExternalMemoryImageCreateInfoNV(
reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension),
reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
checkEqual_VkExportMemoryAllocateInfoNV(
reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension),
reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_NV_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
checkEqual_VkImportMemoryWin32HandleInfoNV(
reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension),
reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
checkEqual_VkExportMemoryWin32HandleInfoNV(
reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension),
reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_NV_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
checkEqual_VkWin32KeyedMutexAcquireReleaseInfoNV(
reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension),
reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_validation_flags
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
checkEqual_VkValidationFlagsEXT(
reinterpret_cast<const VkValidationFlagsEXT*>(structExtension),
reinterpret_cast<const VkValidationFlagsEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_astc_decode_mode
case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
checkEqual_VkImageViewASTCDecodeModeEXT(
reinterpret_cast<const VkImageViewASTCDecodeModeEXT*>(structExtension),
reinterpret_cast<const VkImageViewASTCDecodeModeEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceASTCDecodeFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_conditional_rendering
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
checkEqual_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(
structExtension),
reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_clip_space_w_scaling
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineViewportWScalingStateCreateInfoNV(
reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_display_control
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
checkEqual_VkSwapchainCounterCreateInfoEXT(
reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_GOOGLE_display_timing
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
checkEqual_VkPresentTimesInfoGOOGLE(
reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension),
reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_NVX_multiview_per_view_attributes
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
checkEqual_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_viewport_swizzle
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineViewportSwizzleStateCreateInfoNV(
reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_discard_rectangles
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineDiscardRectangleStateCreateInfoEXT(
reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_conservative_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineRasterizationConservativeStateCreateInfoEXT(
reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_depth_clip_enable
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_debug_utils
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
checkEqual_VkDebugUtilsMessengerCreateInfoEXT(
reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
checkEqual_VkAndroidHardwareBufferUsageANDROID(
reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension),
reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
checkEqual_VkAndroidHardwareBufferFormatPropertiesANDROID(
reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(
structExtension),
reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
checkEqual_VkImportAndroidHardwareBufferInfoANDROID(
reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension),
reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
checkEqual_VkExternalFormatANDROID(
reinterpret_cast<const VkExternalFormatANDROID*>(structExtension),
reinterpret_cast<const VkExternalFormatANDROID*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: {
checkEqual_VkAndroidHardwareBufferFormatProperties2ANDROID(
reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID*>(
structExtension),
reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_inline_uniform_block
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: {
checkEqual_VkWriteDescriptorSetInlineUniformBlockEXT(
reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT*>(structExtension),
reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: {
checkEqual_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(
reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_sample_locations
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
checkEqual_VkSampleLocationsInfoEXT(
reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension),
reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
checkEqual_VkRenderPassSampleLocationsBeginInfoEXT(
reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension),
reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineSampleLocationsStateCreateInfoEXT(
reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceSampleLocationsPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_blend_operation_advanced
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineCoverageToColorStateCreateInfoNV(
reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineCoverageModulationStateCreateInfoNV(
reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_shader_sm_builtins
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
checkEqual_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_image_drm_format_modifier
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
checkEqual_VkDrmFormatModifierPropertiesListEXT(
reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
checkEqual_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
checkEqual_VkImageDrmFormatModifierListCreateInfoEXT(
reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
checkEqual_VkImageDrmFormatModifierExplicitCreateInfoEXT(
reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
checkEqual_VkDrmFormatModifierPropertiesList2EXT(
reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_validation_cache
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
checkEqual_VkShaderModuleValidationCacheCreateInfoEXT(
reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_shading_rate_image
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineViewportShadingRateImageStateCreateInfoNV(
reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
checkEqual_VkPhysicalDeviceShadingRateImageFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceShadingRateImagePropertiesNV(
reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_ray_tracing
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
checkEqual_VkWriteDescriptorSetAccelerationStructureNV(
reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV*>(
structExtension),
reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceRayTracingPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_representative_fragment_test
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
checkEqual_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_filter_cubic
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
checkEqual_VkPhysicalDeviceImageViewImageFormatInfoEXT(
reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
checkEqual_VkFilterCubicImageViewImageFormatPropertiesEXT(
reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_global_priority
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: {
checkEqual_VkDeviceQueueGlobalPriorityCreateInfoEXT(
reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_external_memory_host
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
checkEqual_VkImportMemoryHostPointerInfoEXT(
reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension),
reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_pipeline_compiler_control
case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
checkEqual_VkPipelineCompilerControlCreateInfoAMD(
reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD*>(structExtension),
reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_shader_core_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
checkEqual_VkPhysicalDeviceShaderCorePropertiesAMD(
reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_video_decode_h265
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: {
checkEqual_VkVideoDecodeH265ProfileEXT(
reinterpret_cast<const VkVideoDecodeH265ProfileEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH265ProfileEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: {
checkEqual_VkVideoDecodeH265CapabilitiesEXT(
reinterpret_cast<const VkVideoDecodeH265CapabilitiesEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH265CapabilitiesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: {
checkEqual_VkVideoDecodeH265SessionCreateInfoEXT(
reinterpret_cast<const VkVideoDecodeH265SessionCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH265SessionCreateInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
checkEqual_VkVideoDecodeH265SessionParametersAddInfoEXT(
reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
checkEqual_VkVideoDecodeH265SessionParametersCreateInfoEXT(
reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: {
checkEqual_VkVideoDecodeH265PictureInfoEXT(
reinterpret_cast<const VkVideoDecodeH265PictureInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH265PictureInfoEXT*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: {
checkEqual_VkVideoDecodeH265DpbSlotInfoEXT(
reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoEXT*>(structExtension),
reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_AMD_memory_overallocation_behavior
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
checkEqual_VkDeviceMemoryOverallocationCreateInfoAMD(
reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD*>(structExtension),
reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineVertexInputDivisorStateCreateInfoEXT(
reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_GGP_frame_token
case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
checkEqual_VkPresentFrameTokenGGP(
reinterpret_cast<const VkPresentFrameTokenGGP*>(structExtension),
reinterpret_cast<const VkPresentFrameTokenGGP*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_pipeline_creation_feedback
case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: {
checkEqual_VkPipelineCreationFeedbackCreateInfoEXT(
reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_compute_shader_derivatives
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
checkEqual_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_mesh_shader
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
checkEqual_VkPhysicalDeviceMeshShaderFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceMeshShaderPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_fragment_shader_barycentric
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: {
checkEqual_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_shader_image_footprint
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
checkEqual_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_scissor_exclusive
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
checkEqual_VkPhysicalDeviceExclusiveScissorFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
checkEqual_VkQueueFamilyCheckpointPropertiesNV(
reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension),
reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_INTEL_shader_integer_functions2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
checkEqual_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_INTEL_performance_query
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
checkEqual_VkQueryPoolPerformanceQueryCreateInfoINTEL(
reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL*>(
structExtension),
reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_pci_bus_info
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
checkEqual_VkPhysicalDevicePCIBusInfoPropertiesEXT(
reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_display_native_hdr
case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
checkEqual_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD*>(structExtension),
reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
checkEqual_VkSwapchainDisplayNativeHdrCreateInfoAMD(
reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD*>(structExtension),
reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_fragment_density_map
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
checkEqual_VkRenderPassFragmentDensityMapCreateInfoEXT(
reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_subgroup_size_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: {
checkEqual_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_shader_core_properties2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
checkEqual_VkPhysicalDeviceShaderCoreProperties2AMD(
reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_AMD_device_coherent_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
checkEqual_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_shader_image_atomic_int64
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_memory_budget
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_memory_priority
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
checkEqual_VkMemoryPriorityAllocateInfoEXT(
reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT*>(structExtension),
reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
checkEqual_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_buffer_device_address
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
checkEqual_VkBufferDeviceAddressCreateInfoEXT(
reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_validation_features
case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
checkEqual_VkValidationFeaturesEXT(
reinterpret_cast<const VkValidationFeaturesEXT*>(structExtension),
reinterpret_cast<const VkValidationFeaturesEXT*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_NV_cooperative_matrix
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
checkEqual_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_coverage_reduction_mode
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
checkEqual_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineCoverageReductionStateCreateInfoNV(
reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_fragment_shader_interlock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_ycbcr_image_arrays
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceProvokingVertexFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceProvokingVertexPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_full_screen_exclusive
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
checkEqual_VkSurfaceFullScreenExclusiveInfoEXT(
reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT*>(structExtension),
reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
checkEqual_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT*>(
structExtension),
reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
checkEqual_VkSurfaceFullScreenExclusiveWin32InfoEXT(
reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT*>(structExtension),
reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceLineRasterizationFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceLineRasterizationPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
checkEqual_VkPipelineRasterizationLineStateCreateInfoEXT(
reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_shader_atomic_float
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_shader_atomic_float2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_device_generated_commands
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
checkEqual_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
checkEqual_VkGraphicsPipelineShaderGroupsCreateInfoNV(
reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_inherited_viewport_scissor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
checkEqual_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceInheritedViewportScissorFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceInheritedViewportScissorFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
checkEqual_VkCommandBufferInheritanceViewportScissorInfoNV(
reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV*>(
structExtension),
reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_QCOM_render_pass_transform
case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
checkEqual_VkRenderPassTransformBeginInfoQCOM(
reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM*>(structExtension),
reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
checkEqual_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM*>(
structExtension),
reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
checkEqual_VkDeviceDeviceMemoryReportCreateInfoEXT(
reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_robustness2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceRobustness2FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceRobustness2PropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
checkEqual_VkSamplerCustomBorderColorCreateInfoEXT(
reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_private_data
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
checkEqual_VkPhysicalDevicePrivateDataFeaturesEXT(
reinterpret_cast<const VkPhysicalDevicePrivateDataFeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDevicePrivateDataFeaturesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: {
checkEqual_VkDevicePrivateDataCreateInfoEXT(
reinterpret_cast<const VkDevicePrivateDataCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkDevicePrivateDataCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: {
checkEqual_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT(
reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_device_diagnostics_config
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
checkEqual_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
checkEqual_VkDeviceDiagnosticsConfigCreateInfoNV(
reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(structExtension),
reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_fragment_shading_rate_enums
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
checkEqual_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
checkEqual_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
checkEqual_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
reinterpret_cast<const VkPipelineFragmentShadingRateEnumStateCreateInfoNV*>(
structExtension),
reinterpret_cast<const VkPipelineFragmentShadingRateEnumStateCreateInfoNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_ray_tracing_motion_blur
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
checkEqual_VkAccelerationStructureGeometryMotionTrianglesDataNV(
reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV*>(
structExtension),
reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
checkEqual_VkAccelerationStructureMotionInfoNV(
reinterpret_cast<const VkAccelerationStructureMotionInfoNV*>(structExtension),
reinterpret_cast<const VkAccelerationStructureMotionInfoNV*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
checkEqual_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_fragment_density_map2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_QCOM_rotated_copy_commands
case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
checkEqual_VkCopyCommandTransformInfoQCOM(
reinterpret_cast<const VkCopyCommandTransformInfoQCOM*>(structExtension),
reinterpret_cast<const VkCopyCommandTransformInfoQCOM*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_image_robustness
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceImageRobustnessFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_4444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
checkEqual_VkPhysicalDevice4444FormatsFeaturesEXT(
reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_rgba10x6_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_VALVE_mutable_descriptor_type
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: {
checkEqual_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: {
checkEqual_VkMutableDescriptorTypeCreateInfoVALVE(
reinterpret_cast<const VkMutableDescriptorTypeCreateInfoVALVE*>(structExtension),
reinterpret_cast<const VkMutableDescriptorTypeCreateInfoVALVE*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_vertex_input_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_physical_device_drm
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceDrmPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceDrmPropertiesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceDrmPropertiesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
checkEqual_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_FUCHSIA_external_memory
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
checkEqual_VkImportMemoryZirconHandleInfoFUCHSIA(
reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA*>(structExtension),
reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_FUCHSIA_buffer_collection
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
checkEqual_VkImportMemoryBufferCollectionFUCHSIA(
reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA*>(structExtension),
reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
checkEqual_VkBufferCollectionImageCreateInfoFUCHSIA(
reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA*>(structExtension),
reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
checkEqual_VkBufferCollectionBufferCreateInfoFUCHSIA(
reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA*>(structExtension),
reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_HUAWEI_subpass_shading
case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
checkEqual_VkSubpassShadingPipelineCreateInfoHUAWEI(
reinterpret_cast<const VkSubpassShadingPipelineCreateInfoHUAWEI*>(structExtension),
reinterpret_cast<const VkSubpassShadingPipelineCreateInfoHUAWEI*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
checkEqual_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
reinterpret_cast<const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
checkEqual_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
reinterpret_cast<const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_HUAWEI_invocation_mask
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
checkEqual_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
reinterpret_cast<const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_NV_external_memory_rdma
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
checkEqual_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
reinterpret_cast<const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_color_write_enable
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
checkEqual_VkPipelineColorWriteCreateInfoEXT(
reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension),
reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_GOOGLE_gfxstream
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
checkEqual_VkImportColorBufferGOOGLE(
reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension),
reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
checkEqual_VkImportBufferGOOGLE(
reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension),
reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension2), onFail);
break;
}
case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
checkEqual_VkCreateBlobGOOGLE(
reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension2), onFail);
break;
}
#endif
#ifdef VK_EXT_global_priority_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: {
checkEqual_VkQueueFamilyGlobalPriorityPropertiesEXT(
reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesEXT*>(structExtension),
reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_multi_draw
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceMultiDrawFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT*>(structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
checkEqual_VkPhysicalDeviceMultiDrawPropertiesEXT(
reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_border_color_swizzle
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
checkEqual_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
checkEqual_VkSamplerBorderColorComponentMappingCreateInfoEXT(
reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT*>(
structExtension),
reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_EXT_pageable_device_local_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
checkEqual_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(
structExtension),
reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_acceleration_structure
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
checkEqual_VkWriteDescriptorSetAccelerationStructureKHR(
reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR*>(
structExtension),
reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceAccelerationStructureFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceAccelerationStructureFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
checkEqual_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
reinterpret_cast<const VkPhysicalDeviceAccelerationStructurePropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceAccelerationStructurePropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_ray_tracing_pipeline
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
structExtension2),
onFail);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
checkEqual_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
structExtension),
reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
structExtension2),
onFail);
break;
}
#endif
#ifdef VK_KHR_ray_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
checkEqual_VkPhysicalDeviceRayQueryFeaturesKHR(
reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR*>(structExtension),
reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR*>(structExtension2),
onFail);
break;
}
#endif
default: {
return;
}
}
}
} // namespace vk
} // namespace gfxstream