| // 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 |